use of org.drools.drl.parser.lang.dsl.DSLTokenizedMappingFile in project drools by kiegroup.
the class DefaultExpanderTest method testExpandInfiniteLoop.
@Test(timeout = 1000)
public void testExpandInfiniteLoop() throws Exception {
// DROOLS-73
DSLMappingFile file = new DSLTokenizedMappingFile();
String dsl = "[when]Foo with {var} bars=Foo( bars == {var} )";
file.parseAndLoad(new StringReader(dsl));
assertEquals(0, file.getErrors().size());
DefaultExpander ex = new DefaultExpander();
ex.addDSLMapping(file.getMapping());
String source = "rule 'dsl rule'" + NL + "when" + NL + " Foo with {var} bars" + NL + "then" + NL + NL + "end";
ex.expand(source);
assertFalse(ex.hasErrors());
}
use of org.drools.drl.parser.lang.dsl.DSLTokenizedMappingFile in project drools by kiegroup.
the class DefaultExpanderTest method testANTLREnumExpand.
@Test
public void testANTLREnumExpand() throws Exception {
DSLTokenizedMappingFile file = new DSLTokenizedMappingFile();
String dsl = "[when]When the credit rating is {rating:ENUM:Applicant.creditRating} = applicant:Applicant(credit=={rating})";
file.parseAndLoad(new StringReader(dsl));
assertEquals(0, file.getErrors().size());
DefaultExpander ex = new DefaultExpander();
ex.addDSLMapping(file.getMapping());
String source = "rule \"TestNewDslSetup\"" + NL + "dialect \"mvel\"" + NL + "when" + NL + "When the credit rating is AA" + NL + "then " + NL + "end";
// String source="rule \"TestNewDslSetup\"" + NL+
// "dialect \"mvel\"" + NL+
// "when" + NL+
// "When the credit rating is OK" + NL+
// "then" + NL+
// "end" + NL;
String drl = ex.expand(source);
String expected = "rule \"TestNewDslSetup\"" + NL + "dialect \"mvel\"" + NL + "when" + NL + "applicant:Applicant(credit==AA)" + NL + "then " + NL + "end";
assertFalse(ex.getErrors().toString(), ex.hasErrors());
assertEquals(expected, drl);
// System.err.println(ex.expand( "rule 'x' " + NL + " when " + NL + " foo " + NL + " then " + NL + " end" ));
}
use of org.drools.drl.parser.lang.dsl.DSLTokenizedMappingFile in project drools by kiegroup.
the class DefaultExpanderTest method testExpandFailure.
@Test
public void testExpandFailure() throws Exception {
DSLMappingFile file = new DSLTokenizedMappingFile();
String dsl = "[when]foo=Foo()" + NL + "[then]bar {num}=baz({num});";
file.parseAndLoad(new StringReader(dsl));
assertEquals(0, file.getErrors().size());
DefaultExpander ex = new DefaultExpander();
ex.addDSLMapping(file.getMapping());
String source = "rule 'q'" + NL + "agenda-group 'x'" + NL + "when" + NL + " foo " + NL + "then" + NL + " bar 42" + NL + "end";
String drl = ex.expand(source);
assertFalse(ex.hasErrors());
ex = new DefaultExpander();
ex.addDSLMapping(file.getMapping());
source = "rule 'q' agenda-group 'x'" + NL + "when" + NL + " foos " + NL + "then" + NL + " bar 42" + NL + " end";
drl = ex.expand(source);
// System.out.println( drl );
assertTrue(ex.hasErrors());
assertEquals(1, ex.getErrors().size());
// System.err.println(( (ExpanderException) ex.getErrors().get( 0 )).getMessage());
}
use of org.drools.drl.parser.lang.dsl.DSLTokenizedMappingFile in project drools by kiegroup.
the class DefaultExpanderTest method checkExpansion.
private void checkExpansion(String source, String expected) throws Exception {
DSLTokenizedMappingFile file = new DSLTokenizedMappingFile();
String dsl = "[when]There is an TestObject=TestObject()" + NL + "[when]-startDate is before {date}=startDate>DateUtils.parseDate(\"{date}\")" + NL + "[when]-endDate is after {date}=endDate>DateUtils.parseDate(\"{date}\")";
file.parseAndLoad(new StringReader(dsl));
assertEquals(0, file.getErrors().size());
DefaultExpander ex = new DefaultExpander();
ex.addDSLMapping(file.getMapping());
String drl = ex.expand(source);
assertFalse(ex.hasErrors());
assertEquals(expected, drl);
}
use of org.drools.drl.parser.lang.dsl.DSLTokenizedMappingFile in project drools by kiegroup.
the class DefaultExpanderTest method testANTLRExpandParts.
@Test
public void testANTLRExpandParts() throws Exception {
DSLTokenizedMappingFile file = new DSLTokenizedMappingFile();
String dsl = "[when]foo=Foo()" + NL + "[then]bar {num}=baz({num});";
file.parseAndLoad(new StringReader(dsl));
assertEquals(0, file.getErrors().size());
DefaultExpander ex = new DefaultExpander();
ex.addDSLMapping(file.getMapping());
// System.err.println(ex.expand( "rule 'x' " + NL + " when " + NL + " foo " + NL + " then " + NL + " end" ));
}
Aggregations