use of org.drools.compiler.lang.descr.ConstraintConnectiveDescr in project drools by kiegroup.
the class DRLExprParserTest method testBinding.
@Test
public void testBinding() throws Exception {
String source = "$x : property";
ConstraintConnectiveDescr result = parser.parse(source);
assertFalse(parser.getErrors().toString(), parser.hasErrors());
assertEquals(ConnectiveType.AND, result.getConnective());
assertEquals(1, result.getDescrs().size());
BindingDescr bind = (BindingDescr) result.getDescrs().get(0);
assertEquals("$x", bind.getVariable());
assertEquals("property", bind.getExpression());
}
use of org.drools.compiler.lang.descr.ConstraintConnectiveDescr in project drools by kiegroup.
the class DRLExprParserTest method testBindingConstraint.
@Test
public void testBindingConstraint() throws Exception {
String source = "$x : property > value";
ConstraintConnectiveDescr result = parser.parse(source);
assertFalse(parser.getErrors().toString(), parser.hasErrors());
assertEquals(ConnectiveType.AND, result.getConnective());
assertEquals(1, result.getDescrs().size());
RelationalExprDescr rel = (RelationalExprDescr) result.getDescrs().get(0);
assertEquals(">", rel.getOperator());
BindingDescr bind = (BindingDescr) rel.getLeft();
assertEquals("$x", bind.getVariable());
assertEquals("property", bind.getExpression());
AtomicExprDescr right = (AtomicExprDescr) rel.getRight();
assertEquals("value", right.getExpression());
}
use of org.drools.compiler.lang.descr.ConstraintConnectiveDescr in project drools by kiegroup.
the class DRLExprParserTest method testBindingWithRestrictions.
@Test
public void testBindingWithRestrictions() throws Exception {
String source = "$x : property > value && < 20";
ConstraintConnectiveDescr result = parser.parse(source);
assertFalse(parser.getErrors().toString(), parser.hasErrors());
assertEquals(ConnectiveType.AND, result.getConnective());
assertEquals(2, result.getDescrs().size());
RelationalExprDescr rel = (RelationalExprDescr) result.getDescrs().get(0);
assertEquals(">", rel.getOperator());
BindingDescr bind = (BindingDescr) rel.getLeft();
assertEquals("$x", bind.getVariable());
assertEquals("property", bind.getExpression());
AtomicExprDescr right = (AtomicExprDescr) rel.getRight();
assertEquals("value", right.getExpression());
rel = (RelationalExprDescr) result.getDescrs().get(1);
assertEquals("<", rel.getOperator());
AtomicExprDescr left = (AtomicExprDescr) rel.getLeft();
assertEquals("property", left.getExpression());
right = (AtomicExprDescr) rel.getRight();
assertEquals("20", right.getExpression());
}
use of org.drools.compiler.lang.descr.ConstraintConnectiveDescr in project drools by kiegroup.
the class DRLExprParserTest method testNestedExpression.
@Test(timeout = 10000L)
public void testNestedExpression() throws Exception {
// DROOLS-982
String source = "(((((((((((((((((((((((((((((((((((((((((((((((((( a > b ))))))))))))))))))))))))))))))))))))))))))))))))))";
ConstraintConnectiveDescr result = parser.parse(source);
assertFalse(parser.getErrors().toString(), parser.hasErrors());
assertEquals(ConnectiveType.AND, result.getConnective());
assertEquals(1, result.getDescrs().size());
RelationalExprDescr expr = (RelationalExprDescr) result.getDescrs().get(0);
assertEquals(">", expr.getOperator());
AtomicExprDescr left = (AtomicExprDescr) expr.getLeft();
AtomicExprDescr right = (AtomicExprDescr) expr.getRight();
assertEquals("a", left.getExpression());
assertEquals("b", right.getExpression());
}
use of org.drools.compiler.lang.descr.ConstraintConnectiveDescr in project drools by kiegroup.
the class DRLExprParserTest method testAndConnective.
@Test
public void testAndConnective() throws Exception {
String source = "a > b && 10 != 20";
ConstraintConnectiveDescr result = parser.parse(source);
assertFalse(parser.getErrors().toString(), parser.hasErrors());
assertEquals(ConnectiveType.AND, result.getConnective());
assertEquals(2, result.getDescrs().size());
RelationalExprDescr expr = (RelationalExprDescr) result.getDescrs().get(0);
assertEquals(">", expr.getOperator());
AtomicExprDescr left = (AtomicExprDescr) expr.getLeft();
AtomicExprDescr right = (AtomicExprDescr) expr.getRight();
assertEquals("a", left.getExpression());
assertEquals("b", right.getExpression());
expr = (RelationalExprDescr) result.getDescrs().get(1);
assertEquals("!=", expr.getOperator());
left = (AtomicExprDescr) expr.getLeft();
right = (AtomicExprDescr) expr.getRight();
assertEquals("10", left.getExpression());
assertEquals("20", right.getExpression());
}
Aggregations