@Test
public void shouldTestElementOnPredicate2WithValidationResult() {
final KoryphePredicate2<String, String> predicate2 = new KoryphePredicate2<String, String>() {
@Override
public boolean test(final String o, final String o2) {
return "value".equals(o) && "value2".equals(o2);
}
};
final ElementFilter filter = new ElementFilter.Builder()
.select("prop1", "prop2")
.execute(predicate2)
.build();
final Entity element1 = new Entity.Builder()
.property("prop1", "value")
.property("prop2", "value2")
.build();
final Entity element2 = new Entity.Builder()
.property("prop1", "unknown")
.property("prop2", "value2")
.build();
final ValidationResult result1 = filter.testWithValidationResult(element1);
final ValidationResult result2 = filter.testWithValidationResult(element2);
assertTrue(result1.isValid());
assertFalse(result2.isValid());
assertTrue("Result was: " + result2.getErrorString(), result2.getErrorString().contains("{prop1: <java.lang.String>unknown, prop2: <java.lang.String>value2}"));
}