Search in sources :

Example 1 with Sprinkler

use of org.drools.compiler.integrationtests.DynamicRulesChangesTest.Sprinkler in project drools by kiegroup.

the class SegmentMemoryPrototypeTest method checkKieSession.

private void checkKieSession(KieSession ksession) {
    final List<String> events = new ArrayList<String>();
    ksession.setGlobal("events", events);
    // phase 1
    Room room1 = new Room("Room 1");
    ksession.insert(room1);
    FactHandle fireFact1 = ksession.insert(new Fire(room1));
    ksession.fireAllRules();
    assertEquals(1, events.size());
    // phase 2
    Sprinkler sprinkler1 = new Sprinkler(room1);
    ksession.insert(sprinkler1);
    ksession.fireAllRules();
    assertEquals(2, events.size());
    // phase 3
    ksession.delete(fireFact1);
    ksession.fireAllRules();
    assertEquals(5, events.size());
}
Also used : FactHandle(org.kie.api.runtime.rule.FactHandle) Fire(org.drools.compiler.integrationtests.DynamicRulesChangesTest.Fire) ArrayList(java.util.ArrayList) Room(org.drools.compiler.integrationtests.DynamicRulesChangesTest.Room) Sprinkler(org.drools.compiler.integrationtests.DynamicRulesChangesTest.Sprinkler)

Aggregations

ArrayList (java.util.ArrayList)1 Fire (org.drools.compiler.integrationtests.DynamicRulesChangesTest.Fire)1 Room (org.drools.compiler.integrationtests.DynamicRulesChangesTest.Room)1 Sprinkler (org.drools.compiler.integrationtests.DynamicRulesChangesTest.Sprinkler)1 FactHandle (org.kie.api.runtime.rule.FactHandle)1