use of org.drools.mvel.compiler.Cheese in project drools by kiegroup.
the class FirstOrderLogicTest method testNotWithBindings.
@Test
public void testNotWithBindings() throws Exception {
KieBase kbase = KieBaseUtil.getKieBaseFromClasspathResources(getClass(), kieBaseTestConfiguration, "not_with_bindings_rule_test.drl");
KieSession wm = kbase.newKieSession();
final List list = new ArrayList();
wm.setGlobal("list", list);
final Cheese stilton = new Cheese("stilton", 5);
final FactHandle stiltonHandle = (FactHandle) wm.insert(stilton);
final Cheese cheddar = new Cheese("cheddar", 7);
final FactHandle cheddarHandle = (FactHandle) wm.insert(cheddar);
final PersonInterface paul = new Person("paul", "stilton", 12);
wm.insert(paul);
wm.fireAllRules();
assertEquals(0, list.size());
wm.retract(stiltonHandle);
wm.fireAllRules();
assertEquals(1, list.size());
}
use of org.drools.mvel.compiler.Cheese in project drools by kiegroup.
the class NamedConsequencesTest method testNamedConsequenceAfterNotPattern.
@Test
public void testNamedConsequenceAfterNotPattern() {
// DROOLS-5
String str = "import org.drools.mvel.compiler.Cheese;\n " + "global java.util.List results;\n" + "\n" + "rule R1 when\n" + " $a: Cheese ( type == \"stilton\" )\n" + " not Cheese ( type == \"brie\" )\n" + " do[t1]\n" + " $b: Cheese ( type == \"cheddar\" )\n" + "then\n" + " results.add( $b.getType() );\n" + "then[t1]\n" + " results.add( $a.getType() );\n" + "end\n";
KieBase kbase = KieBaseUtil.getKieBaseFromKieModuleFromDrl("test", kieBaseTestConfiguration, str);
KieSession ksession = kbase.newKieSession();
List<String> results = new ArrayList<String>();
ksession.setGlobal("results", results);
ksession.insert(new Cheese("stilton", 5));
ksession.insert(new Cheese("cheddar", 7));
ksession.fireAllRules();
assertTrue(results.contains("stilton"));
assertTrue(results.contains("cheddar"));
}
use of org.drools.mvel.compiler.Cheese in project drools by kiegroup.
the class NullTest method testNullHandling.
@Test
public void testNullHandling() throws Exception {
KieBase kbase = KieBaseUtil.getKieBaseFromClasspathResources(getClass(), kieBaseTestConfiguration, "test_NullHandling.drl");
KieSession session = kbase.newKieSession();
final List list = new ArrayList();
session.setGlobal("list", list);
final Cheese nullCheese = new Cheese(null, 2);
session.insert(nullCheese);
final Person notNullPerson = new Person("shoes butt back");
notNullPerson.setBigDecimal(new BigDecimal("42.42"));
session.insert(notNullPerson);
Person nullPerson = new Person("whee");
nullPerson.setBigDecimal(null);
session.insert(nullPerson);
session = SerializationHelper.getSerialisedStatefulKnowledgeSession(session, true);
session.fireAllRules();
// System.out.println(((List) session.getGlobal("list")).get(0));
assertEquals(3, ((List) session.getGlobal("list")).size());
nullPerson = new Person(null);
session.insert(nullPerson);
session.fireAllRules();
assertEquals(4, ((List) session.getGlobal("list")).size());
}
use of org.drools.mvel.compiler.Cheese in project drools by kiegroup.
the class OutOfMemoryTest method testAgendaLoop.
@Test
@Ignore
public void testAgendaLoop() throws Exception {
KieBase kbase = KieBaseUtil.getKieBaseFromClasspathResources(getClass(), kieBaseTestConfiguration, "test_OutOfMemoryError.drl");
KieSession ksession = kbase.newKieSession();
ksession.insert(new Cheese("stilton", 1));
ksession.fireAllRules(3000000);
// just for profiling
// Thread.currentThread().wait();
}
use of org.drools.mvel.compiler.Cheese in project drools by kiegroup.
the class SequentialTest method testBasicOperation.
@Test
public void testBasicOperation() throws Exception {
final KieModule kieModule = KieUtil.getKieModuleFromClasspathResources("test", getClass(), kieBaseTestConfiguration, "simpleSequential.drl");
final KieBase kbase = KieBaseUtil.newKieBaseFromKieModuleWithAdditionalOptions(kieModule, kieBaseTestConfiguration, SequentialOption.YES);
StatelessKieSession ksession = kbase.newStatelessKieSession();
final List list = new ArrayList();
ksession.setGlobal("list", list);
final Person p1 = new Person("p1", "stilton");
final Person p2 = new Person("p2", "cheddar");
final Person p3 = new Person("p3", "stilton");
final Cheese stilton = new Cheese("stilton", 15);
final Cheese cheddar = new Cheese("cheddar", 15);
ksession.execute(CommandFactory.newInsertElements(Arrays.asList(new Object[] { p1, stilton, p2, cheddar, p3 })));
assertEquals(3, list.size());
}
Aggregations