Search in sources :

Example 6 with Cheesery

use of org.drools.mvel.compiler.Cheesery in project drools by kiegroup.

the class MVELTest method testMVELRewrite.

@Test
public void testMVELRewrite() throws Exception {
    // read in the source
    KieBase kbase = KieBaseUtil.getKieBaseFromClasspathResources(getClass(), kieBaseTestConfiguration, "test_MVELrewrite.drl");
    KieSession ksession = kbase.newKieSession();
    ksession = SerializationHelper.getSerialisedStatefulKnowledgeSession(ksession, true);
    final List results = new ArrayList();
    ksession.setGlobal("results", results);
    final Cheese brie = new Cheese("brie", 2);
    final Cheese stilton = new Cheese("stilton", 2);
    final Cheesery cheesery = new Cheesery();
    cheesery.addCheese(brie);
    cheesery.addCheese(stilton);
    ksession.insert(cheesery);
    ksession.fireAllRules();
    assertEquals(1, results.size());
    assertEquals(cheesery, results.get(0));
}
Also used : KieBase(org.kie.api.KieBase) ArrayList(java.util.ArrayList) StatelessKieSession(org.kie.api.runtime.StatelessKieSession) KieSession(org.kie.api.runtime.KieSession) ArrayList(java.util.ArrayList) List(java.util.List) Cheese(org.drools.mvel.compiler.Cheese) Cheesery(org.drools.mvel.compiler.Cheesery) Test(org.junit.Test)

Example 7 with Cheesery

use of org.drools.mvel.compiler.Cheesery in project drools by kiegroup.

the class FirstOrderLogicTest method testFromInsideNotAndExists.

@Test
public void testFromInsideNotAndExists() throws Exception {
    KieBase kbase = KieBaseUtil.getKieBaseFromClasspathResources(getClass(), kieBaseTestConfiguration, "test_FromInsideNotAndExists.drl");
    KieSession workingMemory = kbase.newKieSession();
    final List list = new ArrayList();
    workingMemory.setGlobal("results", list);
    final Cheese cheddar = new Cheese("cheddar", 7);
    final Cheese provolone = new Cheese("provolone", 5);
    final Cheesery cheesery = new Cheesery();
    cheesery.addCheese(cheddar);
    cheesery.addCheese(provolone);
    FactHandle handle = (FactHandle) workingMemory.insert(cheesery);
    workingMemory.fireAllRules();
    assertEquals(0, list.size());
    cheesery.addCheese(new Cheese("stilton", 10));
    cheesery.removeCheese(cheddar);
    workingMemory.update(handle, cheesery);
    workingMemory.fireAllRules();
    assertEquals(2, list.size());
}
Also used : FactHandle(org.kie.api.runtime.rule.FactHandle) KieBase(org.kie.api.KieBase) ArrayList(java.util.ArrayList) KieSession(org.kie.api.runtime.KieSession) List(java.util.List) ArrayList(java.util.ArrayList) Cheese(org.drools.mvel.compiler.Cheese) Cheesery(org.drools.mvel.compiler.Cheesery) Test(org.junit.Test)

Aggregations

Cheesery (org.drools.mvel.compiler.Cheesery)7 Test (org.junit.Test)7 KieBase (org.kie.api.KieBase)7 KieSession (org.kie.api.runtime.KieSession)7 Cheese (org.drools.mvel.compiler.Cheese)6 ArrayList (java.util.ArrayList)4 List (java.util.List)4 Person (org.drools.mvel.compiler.Person)3 FactHandle (org.kie.api.runtime.rule.FactHandle)3 Dimension (java.awt.Dimension)2 SessionInspector (org.drools.kiesession.debug.SessionInspector)2 StatefulKnowledgeSessionInfo (org.drools.kiesession.debug.StatefulKnowledgeSessionInfo)2 Worker (org.drools.mvel.compiler.Worker)2 StatelessKieSession (org.kie.api.runtime.StatelessKieSession)1