This is a statement from a method that I want to test:
criteria.add(Restrictions.eq("client", selectionVariant.getClient()));
And here is a statement from my test method:
Mockito.verify(criteria).add(Restrictions.eq("client", selectionVariant.getClient()));
And this is what I see in the console:
Argument(s) are different! Wanted:
criteria.add(
client=Client{id=1, businessKey='HPD', description='desc', version=0}
);
-> at com.innflow.ebtam.dao.hibernate.variant.SelectionVariantUniqueConstraintValidatorImplTest.testBuildValidationCriteria(SelectionVariantUniqueConstraintValidatorImplTest.java:48)
Actual invocation has different arguments:
criteria.add(
client=Client{id=1, businessKey='HPD', description='desc', version=0}
);
-> at com.innflow.ebtam.dao.hibernate.variant.SelectionVariantUniqueConstraintValidatorImpl.buildValidationCriteria(SelectionVariantUniqueConstraintValidatorImpl.java:36)
What am I missing?
Edit:
equals method in Client.java is as follows:
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || (getClass() != o.getClass() && !(o instanceof Client))) return false;
Client client = (Client) o;
if (businessKey != null ? !businessKey.equals(client.getBusinessKey()) : client.getBusinessKey() != null)
return false;
return true;
}
Aucun commentaire:
Enregistrer un commentaire