Search in sources :

Example 11 with Cheesery

use of org.drools.testcoverage.common.model.Cheesery in project drools by kiegroup.

the class ContainsTest method testContainsCheese.

@Test
public void testContainsCheese() {
    final String drl = "package org.drools.compiler.integrationtests.operators;\n" + "\n" + "import " + Cheese.class.getCanonicalName() + ";\n" + "import " + Cheesery.class.getCanonicalName() + ";\n" + "\n" + "global java.util.List list;\n" + "\n" + "rule \"Cheesery contains stilton\"\n" + "    salience 10\n" + "    when\n" + "        stilton : Cheese( type == \"stilton\" )\n" + "        Cheesery( cheeses contains stilton )\n" + "    then\n" + "        list.add( stilton );\n" + "end   \n" + "\n" + "rule \"Cheesery does not contain brie\"\n" + "    when\n" + "        brie : Cheese( type == \"brie\" )\n" + "        Cheesery( cheeses not contains brie )\n" + "    then\n" + "        list.add( brie );\n" + "end ";
    final KieBase kieBase = KieBaseUtil.getKieBaseFromKieModuleFromDrl("contains-test", kieBaseTestConfiguration, drl);
    final KieSession ksession = kieBase.newKieSession();
    try {
        final List list = new ArrayList();
        ksession.setGlobal("list", list);
        final Cheese stilton = new Cheese("stilton", 12);
        ksession.insert(stilton);
        final Cheese brie = new Cheese("brie", 10);
        ksession.insert(brie);
        final Cheesery cheesery = new Cheesery();
        cheesery.getCheeses().add(stilton);
        ksession.insert(cheesery);
        ksession.fireAllRules();
        assertEquals(2, list.size());
        assertEquals(stilton, list.get(0));
        assertEquals(brie, list.get(1));
    } finally {
        ksession.dispose();
    }
}
Also used : KieBase(org.kie.api.KieBase) ArrayList(java.util.ArrayList) KieSession(org.kie.api.runtime.KieSession) ArrayList(java.util.ArrayList) List(java.util.List) Cheese(org.drools.testcoverage.common.model.Cheese) Cheesery(org.drools.testcoverage.common.model.Cheesery) Test(org.junit.Test)

Aggregations

ArrayList (java.util.ArrayList)11 Cheesery (org.drools.testcoverage.common.model.Cheesery)11 Test (org.junit.Test)11 KieBase (org.kie.api.KieBase)11 KieSession (org.kie.api.runtime.KieSession)11 Cheese (org.drools.testcoverage.common.model.Cheese)10 List (java.util.List)7 Person (org.drools.testcoverage.common.model.Person)6 FactHandle (org.kie.api.runtime.rule.FactHandle)5 ClassObjectType (org.drools.core.base.ClassObjectType)1 EntryPointNode (org.drools.core.reteoo.EntryPointNode)1 FromNode (org.drools.core.reteoo.FromNode)1 LeftInputAdapterNode (org.drools.core.reteoo.LeftInputAdapterNode)1 LeftTupleSink (org.drools.core.reteoo.LeftTupleSink)1 ObjectTypeNode (org.drools.core.reteoo.ObjectTypeNode)1 Sink (org.drools.core.reteoo.Sink)1