Olá...
Estou começando a dar uma estudada no JUnit.
Realizando um exemplo:
package de;
public class Livro {
private String titulo;
private double preco;
public Livro(String titulo, double preco){
this.titulo = titulo;
this.preco = preco;
}
public boolean equals(Object object){
if(object instanceof Livro){
Livro livro = (Livro)object;
return getTitulo().equals(livro.getTitulo()) && getPreco() == livro.getPreco();
}
return false;
}
public double getPreco() {
return preco;
}
public void setPreco(double preco) {
this.preco = preco;
}
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
}
Test:
package test;
import de.Livro;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
public class TesteQueVerificaSeOObjetoELivro extends TestCase {
private Livro livro1;
private Livro livro2;
private Livro livro3;
public static void main(String[] args) {
}
/*
* Configurando as propriedades do teste
*/
protected void setUp() throws Exception {
super.setUp();
livro1 = new Livro("Java Programando", 90.50);
livro2 = new Livro("Core J2EE Patternd", 120.30);
livro3 = new Livro("Java Programando", 90.50);
}
/*
* Finalizando as propriedades do teste
*/
protected void tearDown() throws Exception {
super.tearDown();
livro1 = null;
livro2 = null;
livro3 = null;
}
/**
* @param name
*/
public TesteQueVerificaSeOObjetoELivro(String name) {
super(name);
}
public void testEquals(){
assertFalse(livro2.equals(livro1));
assertFalse(livro1.equals(livro1));
//assertTrue(livro1.equals(livro3));
}
public static Test suite(){
TestSuite suite = new TestSuite();
suite.addTest(new TesteQueVerificaSeOObjetoELivro("testEquals"));
return suite;
}
}
no método testEquals() ao utilzar o assertFalse eu estou afirmando que o livro2 não é igual ao livro 1 certo ?
só que se eu rodar esse test, o corre erro...
Alguém pode me explicar esse detalhe melhor ?
Obrigado!