Search in sources :

Example 6 with Order

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

the class FirstOrderLogicTest method testCollectWithMemberOfOperators.

@Test
public void testCollectWithMemberOfOperators() throws Exception {
    KieBase kbase = KieBaseUtil.getKieBaseFromClasspathResources(getClass(), kieBaseTestConfiguration, "test_CollectMemberOfOperator.drl");
    KieSession workingMemory = kbase.newKieSession();
    final List list = new ArrayList();
    workingMemory.setGlobal("results", list);
    final Order order1 = new Order(1, "bob");
    final OrderItem item11 = new OrderItem(order1, 1);
    final OrderItem item12 = new OrderItem(order1, 2);
    final Order order2 = new Order(2, "mark");
    final OrderItem item21 = new OrderItem(order2, 1);
    final OrderItem item22 = new OrderItem(order2, 2);
    workingMemory.insert(order1);
    workingMemory.insert(item11);
    workingMemory.insert(item12);
    workingMemory.insert(order2);
    workingMemory.insert(item21);
    workingMemory.insert(item22);
    workingMemory.fireAllRules();
    int index = 0;
    assertEquals(8, list.size());
    assertSame(order1, list.get(index++));
    assertSame(item11, list.get(index++));
    assertSame(order2, list.get(index++));
    assertSame(item21, list.get(index++));
    assertSame(order1, list.get(index++));
    assertSame(item11, list.get(index++));
    assertSame(order2, list.get(index++));
    assertSame(item21, list.get(index++));
}
Also used : Order(org.drools.mvel.compiler.Order) KieBase(org.kie.api.KieBase) OrderItem(org.drools.mvel.compiler.OrderItem) ArrayList(java.util.ArrayList) KieSession(org.kie.api.runtime.KieSession) List(java.util.List) ArrayList(java.util.ArrayList) Test(org.junit.Test)

Aggregations

Order (org.drools.mvel.compiler.Order)6 Test (org.junit.Test)6 KieSession (org.kie.api.runtime.KieSession)6 ArrayList (java.util.ArrayList)5 OrderItem (org.drools.mvel.compiler.OrderItem)5 KieBase (org.kie.api.KieBase)5 List (java.util.List)3 InternalKnowledgeBase (org.drools.kiesession.rulebase.InternalKnowledgeBase)2 KiePackage (org.kie.api.definition.KiePackage)2 InternalFactHandle (org.drools.core.common.InternalFactHandle)1 Cheese (org.drools.mvel.compiler.Cheese)1 Person (org.drools.mvel.compiler.Person)1 FactHandle (org.kie.api.runtime.rule.FactHandle)1