Parenthesis diffPnths = new Parenthesis();diffPnths.setExpression(diff);
Multiplication se4 = new Multiplication(); se4.setLeftExpression(le); se4.setRightExpression(diffPnths);
List<Expression> expListExpr = Arrays.asList(se1, se2, se3, se4);
EqualsTo eq1 = new EqualsTo(); eq1.setLeftExpression(se1); eq1.setRightExpression(new StringValue(" FRANCE "));
EqualsTo eq2 = new EqualsTo(); eq2.setLeftExpression(se2); eq2.setRightExpression(new StringValue(" GERMANY "));
AndExpression and1 = new AndExpression(eq1, eq2);
Parenthesis p1 = new Parenthesis(); p1.setExpression(and1);
EqualsTo eq3 = new EqualsTo(); eq3.setLeftExpression(se1); eq3.setRightExpression(new StringValue(" GERMANY "));
EqualsTo eq4 = new EqualsTo(); eq4.setLeftExpression(se2); eq4.setRightExpression(new StringValue(" FRANCE "));
AndExpression and2 = new AndExpression(eq3, eq4);
Parenthesis p2 = new Parenthesis(); p2.setExpression(and2);
List<OrExpression> expOrListExpr = Arrays.asList(new OrExpression(p1, p2));
//compare its string representation: computed are first two, expected are second two