use of org.drools.drl.ast.descr.ConstraintConnectiveDescr in project drools by kiegroup.
the class DescrDumperTest method testDumpWithDateAttr.
@Test
@Ignore
public void testDumpWithDateAttr() throws Exception {
String input = "son.birthDate == \"01-jan-2000\"";
String expected = "son.birthDate == org.drools.util.DateUtils.parseDate( \"01-jan-2000\" )";
ConstraintConnectiveDescr descr = parse(input);
String result = dumper.dump(descr);
assertEquals(expected, result);
}
use of org.drools.drl.ast.descr.ConstraintConnectiveDescr in project drools by kiegroup.
the class DescrDumperTest method testProcessNullSafeDereferencing.
@Test
public void testProcessNullSafeDereferencing() throws Exception {
String expr = "field1!.field2";
String expectedNullCheck = "field1 != null";
String expectedExpr = "field1.field2";
AtomicExprDescr atomicExpr = new AtomicExprDescr(expr);
ConstraintConnectiveDescr ccd = new ConstraintConnectiveDescr();
String[] nullCheckAndExpr = dumper.processImplicitConstraints(expr, atomicExpr, ccd, ccd.getDescrs().indexOf(atomicExpr), null);
assertEquals(expectedNullCheck, ccd.getDescrs().get(0).toString());
assertEquals(expectedExpr, nullCheckAndExpr[1]);
assertEquals(expectedExpr, atomicExpr.getRewrittenExpression());
expr = "field1!.field2!.field3";
String expectedNullCheck1 = "field1 != null";
String expectedNullCheck2 = "field1.field2 != null";
expectedExpr = "field1.field2.field3";
atomicExpr = new AtomicExprDescr(expr);
ccd = new ConstraintConnectiveDescr();
nullCheckAndExpr = dumper.processImplicitConstraints(expr, atomicExpr, ccd, ccd.getDescrs().indexOf(atomicExpr), null);
assertEquals(expectedNullCheck1, ccd.getDescrs().get(0).toString());
assertEquals(expectedNullCheck2, ccd.getDescrs().get(1).toString());
assertEquals(expectedExpr, nullCheckAndExpr[1]);
assertEquals(expectedExpr, atomicExpr.getRewrittenExpression());
}
use of org.drools.drl.ast.descr.ConstraintConnectiveDescr in project drools by kiegroup.
the class DescrDumperTest method testDumpExcludes2.
@Test
public void testDumpExcludes2() throws Exception {
String input = "list not excludes \"b\"";
String expected = "list contains \"b\"";
ConstraintConnectiveDescr descr = parse(input);
String result = dumper.dump(descr);
assertEquals(expected, result);
}
use of org.drools.drl.ast.descr.ConstraintConnectiveDescr in project drools by kiegroup.
the class DescrDumperTest method testDumpBindingsWithRestriction.
@Test
public void testDumpBindingsWithRestriction() throws Exception {
String input = "$x : age > 10 && < 20 || > 30";
String expected = "( age > 10 && age < 20 || age > 30 )";
ConstraintConnectiveDescr descr = parse(input);
DumperContext ctx = new DumperContext();
String result = dumper.dump(descr, ctx);
assertEquals(expected, result);
assertEquals(1, ctx.getBindings().size());
BindingDescr bind = ctx.getBindings().get(0);
assertEquals("$x", bind.getVariable());
assertEquals("age", bind.getExpression());
}
use of org.drools.drl.ast.descr.ConstraintConnectiveDescr in project drools by kiegroup.
the class DescrDumperTest method testDumpMatches2.
@Test
public void testDumpMatches2() throws Exception {
String input = "type.toString matches 'something\\swith\\tsingle escapes'";
String expected = "type.toString ~= \"something\\swith\\tsingle escapes\"";
ConstraintConnectiveDescr descr = parse(input);
String result = dumper.dump(descr);
assertEquals(expected, result);
}
Aggregations