@Test
void test() {
PojoClass pojoClass = PojoClassFactory.getPojoClass(Person.class);
Validator validator = ValidatorBuilder.create().with(new ToStringTester()).build();
validator.validate(pojoClass);
}
public static class Person {
private String name;
public Person(String name) {
this.name = name;
}
@Override
public String toString() {
return "Person[name: " + name + "]";
}
}
I got an assertion error:
Expected string mismatch expected <zxF> but was <Person[name: OxoL]>
java.lang.AssertionError: Expected string mismatch expected <zxF> but was <Person[name: OxoL]>
at com.openpojo.validation.affirm.JavaAssertionAffirmation.fail(JavaAssertionAffirmation.java:33)
at com.openpojo.validation.affirm.JavaAssertionAffirmation.affirmEquals(JavaAssertionAffirmation.java:72)
at com.openpojo.validation.affirm.Affirm.affirmEquals(Affirm.java:75)
at com.openpojo.validation.test.impl.ToStringTester.run(ToStringTester.java:41)
at com.openpojo.validation.utils.ValidationHelper.runValidation(ValidationHelper.java:102)
at com.openpojo.validation.impl.DefaultValidator.validate(DefaultValidator.java:46)
I thing this is a generic error. On ToStringTester class the test compares instance to string with a random text which will be every time false.
public class ToStringTester implements Tester {
public void run(PojoClass pojoClass) {
Object instance = RandomFactory.getRandomValue(pojoClass.getClazz());
IdentityHandlerStub identityHandlerStub = new IdentityHandlerStub(instance);
identityHandlerStub.setToStringReturn(RandomFactory.getRandomValue(String.class));
IdentityFactory.registerIdentityHandler(identityHandlerStub);
Affirm.affirmEquals("Expected string mismatch", identityHandlerStub.getToStringReturn(), instance.toString());
}
}
I wish to test an override toString method :
I got an assertion error:
I thing this is a generic error. On ToStringTester class the test compares instance to string with a random text which will be every time false.