use of org.drools.mvel.parser.ast.expr.DrlxExpression in project drools by kiegroup.
the class DroolsMvelParserTest method testOOPathExprWithDot.
@Test
public void testOOPathExprWithDot() {
String expr = "/wife.children/toys";
DrlxExpression drlx = parseExpression(parser, expr);
Expression expression = drlx.getExpr();
assertTrue(expression instanceof OOPathExpr);
assertEquals(expr, printNode(drlx));
}
use of org.drools.mvel.parser.ast.expr.DrlxExpression in project drools by kiegroup.
the class DroolsMvelParserTest method testBindingOnRight.
@Test
public void testBindingOnRight() {
String expr = "$n : name == \"Mario\" && $a : age > 20";
DrlxExpression drlxExpression = parseExpression(parser, expr);
Expression bExpr = drlxExpression.getExpr();
assertTrue(bExpr instanceof BinaryExpr);
Node left = ((BinaryExpr) bExpr).getLeft();
assertTrue(left instanceof DrlxExpression);
DrlxExpression leftExpr = (DrlxExpression) left;
SimpleName leftBind = leftExpr.getBind();
assertEquals("$n", leftBind.asString());
Expression expression = leftExpr.getExpr();
BinaryExpr binaryExpr = ((BinaryExpr) expression);
assertEquals("name", toString(binaryExpr.getLeft()));
assertEquals("\"Mario\"", toString(binaryExpr.getRight()));
assertEquals(Operator.EQUALS, binaryExpr.getOperator());
Node right = ((BinaryExpr) bExpr).getRight();
assertTrue(right instanceof DrlxExpression);
DrlxExpression rightExpr = (DrlxExpression) right;
SimpleName rightBind = rightExpr.getBind();
assertEquals("$a", rightBind.asString());
BinaryExpr binaryExpr2 = ((BinaryExpr) rightExpr.getExpr());
assertEquals("age", toString(binaryExpr2.getLeft()));
assertEquals("20", toString(binaryExpr2.getRight()));
assertEquals(Operator.GREATER, binaryExpr2.getOperator());
}
use of org.drools.mvel.parser.ast.expr.DrlxExpression in project drools by kiegroup.
the class DroolsMvelParserTest method test3BindingOn3Conditions.
@Test
public void test3BindingOn3Conditions() {
String expr = "$n : name == \"Mario\" && $a : age > 20 && $l : likes != null";
DrlxExpression drlxExpression = parseExpression(parser, expr);
Expression bExpr = drlxExpression.getExpr();
assertTrue(bExpr instanceof BinaryExpr);
Expression left = ((BinaryExpr) bExpr).getLeft();
assertTrue(left instanceof BinaryExpr);
BinaryExpr leftExpr = (BinaryExpr) left;
DrlxExpression first = (DrlxExpression) leftExpr.getLeft();
DrlxExpression second = (DrlxExpression) leftExpr.getRight();
DrlxExpression third = (DrlxExpression) ((BinaryExpr) bExpr).getRight();
SimpleName bind = first.getBind();
assertEquals("$n", bind.asString());
BinaryExpr binaryExpr = ((BinaryExpr) first.getExpr());
assertEquals("name", toString(binaryExpr.getLeft()));
assertEquals("\"Mario\"", toString(binaryExpr.getRight()));
assertEquals(Operator.EQUALS, binaryExpr.getOperator());
bind = second.getBind();
assertEquals("$a", bind.asString());
binaryExpr = ((BinaryExpr) second.getExpr());
assertEquals("age", toString(binaryExpr.getLeft()));
assertEquals("20", toString(binaryExpr.getRight()));
assertEquals(Operator.GREATER, binaryExpr.getOperator());
bind = third.getBind();
assertEquals("$l", bind.asString());
binaryExpr = ((BinaryExpr) third.getExpr());
assertEquals("likes", toString(binaryExpr.getLeft()));
assertEquals("null", toString(binaryExpr.getRight()));
assertEquals(Operator.NOT_EQUALS, binaryExpr.getOperator());
}
use of org.drools.mvel.parser.ast.expr.DrlxExpression in project drools by kiegroup.
the class DroolsMvelParserTest method testMapInitializationLiteralAsArgument.
@Test
public void testMapInitializationLiteralAsArgument() {
String expr = "countItems([123 : 456, 789 : 1011])";
DrlxExpression drlx = parseExpression(parser, expr);
assertEquals(expr, printNode(drlx));
}
use of org.drools.mvel.parser.ast.expr.DrlxExpression in project drools by kiegroup.
the class DroolsMvelParserTest method testLambda.
@Test
public void testLambda() {
String expr = "x -> y";
DrlxExpression expression = parseExpression(parser, expr);
assertEquals(expr, printNode(expression));
}
Aggregations