Comment comparer deux objets à l'aide de assertEquals ou par tout autre moyen de JUNIT test?

Ci-dessous est JUNIT test que j'ai écrit pour comparer l'objet créé (Réelle) de la chaîne Json et l'objet créé (Prévu) dans la fonction de test.

    @Test
    public void testSalesChannel_1_ObjSrc(){

    SalesChannel oScExpected = new SalesChannel();
    oScExpected.setSalesChannelId(79662);
    oScExpected.setCompanyName("BMW");
    oScExpected.setCountry("DE");
    oScExpected.setActive(true);

    String jsonStringActual = "{\"salesChannelId\":79662,"
            + "\"companyName\":\"BMW\","
            + "\"country\":\"DE\",\"isActive\":true,"
            + "\"salesChannelContact\":[]}";
    SalesChannel oScActual = gson.fromJson(jsonStringActual, SalesChannel.class);
    System.out.println(oScExpected.toString());
    System.out.println(oScActual.toString());
    //assertEquals(oScExpected, oScActual); 
    assertTrue(oScExpected.equals(oScActual));      
}

MAIS quand j'execute assertEquals(), il échoue à l'examen. Quelle pourrait être la raison?

ET mon Canal de Vente de la classe est:

package com.pf.activationServer;
import java.util.List;
import com.pf.activationServer.SalesChannelContact;
public class SalesChannel {
private int salesChannelId;
private String companyName;
private CountryCode country;
private boolean isActive;
private List<SalesChannelContact> salesChannelContact;
//getter methods
protected int getSalesChannelId() {
return salesChannelId;
}
protected String getCompanyName() {
return companyName;
}
protected CountryCode getCountry() {
return country;
}
protected boolean isActive() {
return isActive;
}
protected List<SalesChannelContact> getSalesChannelContact() {
return salesChannelContact;
}
//setter methods
protected void setSalesChannelId(int salesChannelId) {
this.salesChannelId = salesChannelId;
}
protected void setCompanyName(String companyName) {
this.companyName = companyName;
}
protected void setCountry(String a){
this.country = CountryCode.valueOf(a);
}
protected void setActive(boolean isActive) {
this.isActive = isActive;
}
protected void setSalesChannelContact(List<SalesChannelContact> salesChannelContact) {
this.salesChannelContact = salesChannelContact;
}
//Checks whether two SalesChannel objects are equal or not
public boolean equals(SalesChannel other) {
if (this == other)
return true;
if (other == null)
return false;
if (getClass() != other.getClass())
return false;
//SalesChannel other = (SalesChannel) obj;
if (companyName == null) {
if (other.companyName != null)
return false;
} else if (!companyName.equals(other.companyName))
return false;
if (country != other.country)
return false;
if (isActive != other.isActive)
return false;
if (this.salesChannelContact == null) {
if (other.salesChannelContact != null)
return false;
} else if (!salesChannelContact.equals(other.salesChannelContact))
return false;
if (salesChannelId != other.salesChannelId)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result
+ ((companyName == null) ? 0 : companyName.hashCode());
result = prime * result + ((country == null) ? 0 : country.hashCode());
result = prime * result + (isActive ? 1231 : 1237);
result = prime
* result
+ ((salesChannelContact == null) ? 0 : salesChannelContact
.hashCode());
result = prime * result + salesChannelId;
return result;
}
}   //END class SalesChannel
puis-je avoir votre aide!

OriginalL'auteur Amir | 2014-03-10