Search in sources :

Example 11 with Cheese

use of org.drools.compiler.Cheese in project drools by kiegroup.

the class SequentialTest method testBasicOperation.

@Test
public void testBasicOperation() throws Exception {
    KieBase kbase = loadKnowledgeBase(kconf, "simpleSequential.drl");
    StatelessKieSession ksession = createStatelessKnowledgeSession(kbase);
    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());
}
Also used : KieBase(org.kie.api.KieBase) ArrayList(java.util.ArrayList) StatelessKieSession(org.kie.api.runtime.StatelessKieSession) ArrayList(java.util.ArrayList) List(java.util.List) Cheese(org.drools.compiler.Cheese) Person(org.drools.compiler.Person) DynamicRulesTest(org.drools.compiler.integrationtests.DynamicRulesTest) Test(org.junit.Test)

Example 12 with Cheese

use of org.drools.compiler.Cheese in project drools by kiegroup.

the class LocaleTest method testLatinLocale.

@Test
public void testLatinLocale() throws Exception {
    final Locale defaultLoc = Locale.getDefault();
    try {
        // setting a locale that uses COMMA as decimal separator
        Locale.setDefault(new Locale("pt", "BR"));
        final KieBase kbase = loadKnowledgeBase("test_LatinLocale.drl");
        final KieSession ksession = createKnowledgeSession(kbase);
        final List<String> results = new ArrayList<String>();
        ksession.setGlobal("results", results);
        final Cheese mycheese = new Cheese("cheddar", 4);
        final FactHandle handle = ksession.insert(mycheese);
        ksession.fireAllRules();
        assertEquals(1, results.size());
        assertEquals("1", results.get(0));
        mycheese.setPrice(8);
        mycheese.setDoublePrice(8.50);
        ksession.update(handle, mycheese);
        ksession.fireAllRules();
        assertEquals(2, results.size());
        assertEquals("3", results.get(1));
    } finally {
        Locale.setDefault(defaultLoc);
    }
}
Also used : Locale(java.util.Locale) FactHandle(org.kie.api.runtime.rule.FactHandle) KieBase(org.kie.api.KieBase) ArrayList(java.util.ArrayList) KieSession(org.kie.api.runtime.KieSession) Cheese(org.drools.compiler.Cheese) Test(org.junit.Test)

Example 13 with Cheese

use of org.drools.compiler.Cheese in project drools by kiegroup.

the class RuleRuntimeEventTest method testEventModel.

@Test
public void testEventModel() throws Exception {
    final KieBase kbase = SerializationHelper.serializeObject(loadKnowledgeBase("test_EventModel.drl"));
    final KieSession wm = createKnowledgeSession(kbase);
    final RuleRuntimeEventListener wmel = mock(RuleRuntimeEventListener.class);
    wm.addEventListener(wmel);
    final Cheese stilton = new Cheese("stilton", 15);
    final FactHandle stiltonHandle = wm.insert(stilton);
    final ArgumentCaptor<ObjectInsertedEvent> oic = ArgumentCaptor.forClass(org.kie.api.event.rule.ObjectInsertedEvent.class);
    verify(wmel).objectInserted(oic.capture());
    assertSame(stiltonHandle, oic.getValue().getFactHandle());
    wm.update(stiltonHandle, stilton);
    final ArgumentCaptor<org.kie.api.event.rule.ObjectUpdatedEvent> ouc = ArgumentCaptor.forClass(org.kie.api.event.rule.ObjectUpdatedEvent.class);
    verify(wmel).objectUpdated(ouc.capture());
    assertSame(stiltonHandle, ouc.getValue().getFactHandle());
    wm.delete(stiltonHandle);
    final ArgumentCaptor<ObjectDeletedEvent> orc = ArgumentCaptor.forClass(ObjectDeletedEvent.class);
    verify(wmel).objectDeleted(orc.capture());
    assertSame(stiltonHandle, orc.getValue().getFactHandle());
}
Also used : FactHandle(org.kie.api.runtime.rule.FactHandle) Cheese(org.drools.compiler.Cheese) ObjectInsertedEvent(org.kie.api.event.rule.ObjectInsertedEvent) ObjectDeletedEvent(org.kie.api.event.rule.ObjectDeletedEvent) RuleRuntimeEventListener(org.kie.api.event.rule.RuleRuntimeEventListener) KieBase(org.kie.api.KieBase) KieSession(org.kie.api.runtime.KieSession) Test(org.junit.Test)

Example 14 with Cheese

use of org.drools.compiler.Cheese in project drools by kiegroup.

the class StatefulSessionTest method testIterateObjects.

@Test
public void testIterateObjects() throws Exception {
    final KieBase kbase = SerializationHelper.serializeObject(loadKnowledgeBase("test_IterateObjects.drl"));
    final KieSession ksession = createKnowledgeSession(kbase);
    final List results = new ArrayList();
    ksession.setGlobal("results", results);
    ksession.insert(new Cheese("stilton", 10));
    ksession.fireAllRules();
    final Iterator events = ksession.getObjects(new ClassObjectFilter(PersonInterface.class)).iterator();
    assertTrue(events.hasNext());
    assertEquals(1, results.size());
    assertEquals(results.get(0), events.next());
}
Also used : ClassObjectFilter(org.drools.core.ClassObjectFilter) KieBase(org.kie.api.KieBase) ArrayList(java.util.ArrayList) Iterator(java.util.Iterator) KieSession(org.kie.api.runtime.KieSession) ArrayList(java.util.ArrayList) List(java.util.List) Cheese(org.drools.compiler.Cheese) Test(org.junit.Test)

Example 15 with Cheese

use of org.drools.compiler.Cheese in project drools by kiegroup.

the class StatelessSessionTest method testCollectionObjectAssert.

@Test
public void testCollectionObjectAssert() throws Exception {
    final StatelessKieSession session = getSession2("statelessSessionTest.drl");
    final Cheese stilton = new Cheese("stilton", 5);
    final List collection = new ArrayList();
    collection.add(stilton);
    session.execute(collection);
    assertEquals("stilton", list.get(0));
}
Also used : ArrayList(java.util.ArrayList) StatelessKieSession(org.kie.api.runtime.StatelessKieSession) Cheese(org.drools.compiler.Cheese) ArrayList(java.util.ArrayList) List(java.util.List) Test(org.junit.Test)

Aggregations

Cheese (org.drools.compiler.Cheese)147 Test (org.junit.Test)140 KieSession (org.kie.api.runtime.KieSession)121 ArrayList (java.util.ArrayList)102 KieBase (org.kie.api.KieBase)87 List (java.util.List)73 Person (org.drools.compiler.Person)52 InternalKnowledgeBase (org.drools.core.impl.InternalKnowledgeBase)36 FactHandle (org.kie.api.runtime.rule.FactHandle)32 KiePackage (org.kie.api.definition.KiePackage)22 StatelessKieSession (org.kie.api.runtime.StatelessKieSession)20 InternalFactHandle (org.drools.core.common.InternalFactHandle)19 IteratorToList (org.drools.compiler.integrationtests.IteratorToList)14 KnowledgeBuilder (org.kie.internal.builder.KnowledgeBuilder)13 Command (org.kie.api.command.Command)10 HashMap (java.util.HashMap)9 ExecutionResults (org.kie.api.runtime.ExecutionResults)8 KnowledgeBuilderImpl (org.drools.compiler.builder.impl.KnowledgeBuilderImpl)7 PackageDescr (org.drools.compiler.lang.descr.PackageDescr)7 DefaultFactHandle (org.drools.core.common.DefaultFactHandle)7