}
public void testExprDistributiveOrComplex() {
Expr expr = ExprUtils.parse("(?c || ( ?a && ?b )) || (?d && ?e)");
DistributiveLawApplyer apply = new DistributiveLawApplyer();
expr.visit(apply);
assertNotNull(apply.result());
assertEquals("( ( ( ( ?c || ?a ) || ?d ) && ( ( ?c || ?b ) || ?d ) ) && ( ( ( ?c || ?a ) || ?e ) && ( ( ?c || ?b ) || ?e ) ) )", apply.result().toString()); // correct
}
public void testExprDistributiveABC() {