use of org.drools.compiler.Cheese in project drools by kiegroup.
the class IndexingTest method testRangeIndex2.
@Test(timeout = 10000)
public void testRangeIndex2() {
String str = "import org.drools.compiler.*;\n" + "rule R1\n" + "when\n" + " $s : String()" + " exists Cheese( type < $s )\n" + "then\n" + " System.out.println( $s );\n" + "end\n";
KieBase kbase = loadKnowledgeBaseFromString(str);
KieSession ksession = kbase.newKieSession();
ksession.insert("gorgonzola");
ksession.insert(new Cheese("cheddar", 10));
ksession.insert(new Cheese("gorgonzola", 10));
ksession.insert(new Cheese("stilton", 10));
assertEquals(1, ksession.fireAllRules());
ksession.dispose();
}
use of org.drools.compiler.Cheese in project drools by kiegroup.
the class IndexingTest method testNotNodeModifyRight.
@Test(timeout = 10000)
public void testNotNodeModifyRight() {
String str = "import org.drools.compiler.*;\n" + "rule R1 salience 10 when\n" + " Person( $age : age )\n" + " not Cheese( price < $age )\n" + "then\n" + " System.out.println( $age );\n" + "end\n" + "rule R3 salience 5 when\n" + " $c : Cheese( price == 8 )\n" + "then\n" + " modify($c) { setPrice(15); }\n" + "end\n";
KieBase kbase = loadKnowledgeBaseFromString(str);
KieSession ksession = kbase.newKieSession();
ksession.insert(new Person("A", 10));
ksession.insert(new Cheese("C1", 20));
ksession.insert(new Cheese("C2", 8));
assertEquals(2, ksession.fireAllRules());
ksession.dispose();
}
use of org.drools.compiler.Cheese in project drools by kiegroup.
the class IndexingTest method testRangeIndex.
@Test(timeout = 10000)
public void testRangeIndex() {
String str = "import org.drools.compiler.*;\n" + "rule R1\n" + "when\n" + " $s : String()" + " exists Cheese( type > $s )\n" + "then\n" + " System.out.println( $s );\n" + "end\n";
KieBase kbase = loadKnowledgeBaseFromString(str);
KieSession ksession = kbase.newKieSession();
ksession.insert("cheddar");
ksession.insert("gorgonzola");
ksession.insert("stilton");
ksession.insert(new Cheese("gorgonzola", 10));
assertEquals(1, ksession.fireAllRules());
ksession.dispose();
}
use of org.drools.compiler.Cheese in project drools by kiegroup.
the class IntegrationInterfacesTest method testGlobals.
@SuppressWarnings("unchecked")
@Test
public void testGlobals() throws Exception {
final KieBase kbase = getKnowledgeBase("globals_rule_test.drl");
KieSession ksession = createKnowledgeSession(kbase);
final List<Object> list = mock(List.class);
ksession.setGlobal("list", list);
ksession.setGlobal("string", "stilton");
final Cheese stilton = new Cheese("stilton", 5);
ksession.insert(stilton);
ksession = SerializationHelper.getSerialisedStatefulKnowledgeSession(ksession, true);
ksession.fireAllRules();
verify(list, times(1)).add(new Integer(5));
}
use of org.drools.compiler.Cheese in project drools by kiegroup.
the class ExecutionFlowControlTest method testNoLoop.
@Test
public void testNoLoop() throws Exception {
KieBase kbase = loadKnowledgeBase("no-loop.drl");
KieSession ksession = kbase.newKieSession();
;
final List list = new ArrayList();
ksession.setGlobal("list", list);
final Cheese brie = new Cheese("brie", 12);
ksession.insert(brie);
ksession.fireAllRules();
assertEquals("Should not loop and thus size should be 1", 1, list.size());
}
Aggregations