Olá Guj's!"
Estou com um erro esquisito. Já tentei resolver, mas naum estou enchergando alterantiva alguma para corrigi-lo!
Tenho um teste que tenta inserir um objeto do tipo cnpj duplicado dentro de uma coleção do tipo LinkedHahsMap. No entanto, apesar de ser objetos iguais, o linkedHashMap está permitindo a duplicação. Até onde verifiquei, o método equals do cnpj não contém erros, por isso que estou achando este erro esquisito e difícil de resolver.Vou postar o código para que vcs vejam!
Observação: Na minha classe de teste eu também testei o método equals, e o teste passou com sucesso!
public class Cnpj {
//atributos
private String cnpj;
//construtores
public Cnpj(){
}
/**
* @param cnpj
*/
public Cnpj(String cnpj) {
super();
this.cnpj = cnpj;
}
//metodos de acesso
/**
* @return Returns the cnpj.
*/
public String getCnpj() {
return cnpj;
}
/**
* @param cnpj The cnpj to set.
*/
public void setCnpj(String cnpj) {
this.cnpj = cnpj;
}
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj instanceof Cnpj) {
Cnpj cnpj = (Cnpj)obj;
if (this.cnpj.equals(cnpj.cnpj)) return true;
}
return false;
}
public String toString() {
return cnpj;
}
}
Aqui está o teste que fiz no Junit
public void testDuplicaCnpjEmColecaoSet() {
Set set = new LinkedHashSet();
set.add(new Cnpj("0"));
set.add(new Cnpj("0"));
assertEquals(1, set.size());
}
Desde já agradeço!
Thiago Senna
