org.kie.api.runtime.KieSession

Here are the examples of the java api class org.kie.api.runtime.KieSession taken from open source projects.

1. LengthSlidingWindowTest#checkPrice()

Project: drools
File: LengthSlidingWindowTest.java
private void checkPrice(String drl, double expectedPrice) {
    KieSessionConfiguration sessionConfig = KnowledgeBaseFactory.newKnowledgeSessionConfiguration();
    sessionConfig.setOption(ClockTypeOption.get(ClockType.PSEUDO_CLOCK.getId()));
    KieSession ksession = new KieHelper().addContent(drl, ResourceType.DRL).build(EventProcessingOption.STREAM).newKieSession(sessionConfig, null);
    List<Double> list = new ArrayList<Double>();
    ksession.setGlobal("list", list);
    ksession.insert("RHT");
    ksession.insert(new StockTick(1L, "RHT", 10.0));
    ksession.insert(new StockTick(2L, "RHT", 10.0));
    ksession.insert(new StockTick(3L, "ABC", 20.0));
    ksession.insert(new StockTick(4L, "RHT", 10.0));
    ksession.insert(new StockTick(5L, "XYZ", 20.0));
    ksession.insert(new StockTick(6L, "XYZ", 20.0));
    ksession.insert(new StockTick(7L, "RHT", 10.0));
    ksession.fireAllRules();
    assertEquals(1, list.size());
    assertEquals(expectedPrice, (double) list.get(0), 0.01);
}

2. DeclarativeAgendaTest#testActivationCount()

Project: drools
File: DeclarativeAgendaTest.java
// test activation count, test case from doc
@Test(timeout = 60000L)
public void testActivationCount() {
    final KieBase kbase = buildKieBase("declarative-agenda-count.drl");
    final KieSession ksession = kbase.newKieSession();
    final List<String> list = new ArrayList<String>();
    ksession.setGlobal("list", list);
    // first run
    final FactHandle go1 = ksession.insert("go1");
    ksession.fireAllRules();
    Assertions.assertThat(list.size()).isEqualTo(3);
    // second run
    list.clear();
    ksession.delete(go1);
    ksession.fireAllRules();
    Assertions.assertThat(list).isEmpty();
    ksession.insert("go1");
    ksession.insert("go2");
    ksession.fireAllRules();
    Assertions.assertThat(list.size()).isEqualTo(2);
    ksession.dispose();
}

3. XlsFormulaTest#testFormulaValue()

Project: drools
File: XlsFormulaTest.java
@Test
public void testFormulaValue() throws Exception {
    // DROOLS-643
    Resource dt = ResourceFactory.newClassPathResource("/data/XlsFormula.xls", getClass());
    KieSession ksession = getKieSession(dt);
    final List<String> list = new ArrayList<String>();
    ksession.setGlobal("list", list);
    ksession.insert(new Person("michael", "stilton", 1));
    ksession.fireAllRules();
    // 10
    assertEquals("10", list.get(0));
    ksession.insert(new Person("michael", "stilton", 2));
    ksession.fireAllRules();
    // =ROW()
    assertEquals("11", list.get(1));
    ksession.insert(new Person("michael", "stilton", 3));
    ksession.fireAllRules();
    // =SUM(D10:D11)
    assertEquals("21", list.get(2));
}

4. ReteooWorkingMemoryTest#testObjectIterator()

Project: drools
File: ReteooWorkingMemoryTest.java
@Test
public void testObjectIterator() {
    InternalKnowledgeBase kBase = (InternalKnowledgeBase) KnowledgeBaseFactory.newKnowledgeBase();
    KieSession ksession = kBase.newKieSession();
    ksession.insert(new Person("bob", 35));
    ksession.insert(new Cheese("stilton", 35));
    ksession.insert(new Cheese("brie", 35));
    ksession.insert(new Person("steve", 55));
    ksession.insert(new Person("tom", 100));
    int i = 0;
    for (FactHandle fh : ksession.getFactHandles()) {
        if (i++ > 5) {
            fail("should not iterate for than 3 times");
        }
    }
    i = 0;
    for (FactHandle fh : ksession.getFactHandles()) {
        if (i++ > 5) {
            fail("should not iterate for than 3 times");
        }
    }
}

5. StateExampleUsingSalience#execute()

Project: drools
File: StateExampleUsingSalience.java
public static void execute(KieContainer kc) {
    // From the container, a session is created based on
    // its definition and configuration in the META-INF/kmodule.xml file
    KieSession ksession = kc.newKieSession("StateSalienceKS");
    // To setup a file based audit logger, uncomment the next line
    // KieRuntimeLogger logger = ks.getLoggers().newFileLogger( ksession, "./state" );
    final State a = new State("A");
    final State b = new State("B");
    final State c = new State("C");
    final State d = new State("D");
    ksession.insert(a);
    ksession.insert(b);
    ksession.insert(c);
    ksession.insert(d);
    ksession.fireAllRules();
    // logger.close();
    // Stateful rule session must always be disposed when finished
    ksession.dispose();
}

6. StateExampleUsingAgendaGroup#execute()

Project: drools
File: StateExampleUsingAgendaGroup.java
public static void execute(KieContainer kc) {
    // From the container, a session is created based on
    // its definition and configuration in the META-INF/kmodule.xml file
    KieSession ksession = kc.newKieSession("StateAgendaGroupKS");
    // To setup a file based audit logger, uncomment the next line
    // KieRuntimeLogger logger = ks.getLoggers().newFileLogger( ksession, "./state" );
    final State a = new State("A");
    final State b = new State("B");
    final State c = new State("C");
    final State d = new State("D");
    ksession.insert(a);
    ksession.insert(b);
    ksession.insert(c);
    ksession.insert(d);
    ksession.fireAllRules();
    // logger.close();
    // Stateful rule session must always be disposed when finished
    ksession.dispose();
}

7. HonestPoliticianExample#execute()

Project: drools
File: HonestPoliticianExample.java
public static void execute(KieContainer kc) {
    KieSession ksession = kc.newKieSession("HonestPoliticianKS");
    final Politician p1 = new Politician("President of Umpa Lumpa", true);
    final Politician p2 = new Politician("Prime Minster of Cheeseland", true);
    final Politician p3 = new Politician("Tsar of Pringapopaloo", true);
    final Politician p4 = new Politician("Omnipotence Om", true);
    ksession.insert(p1);
    ksession.insert(p2);
    ksession.insert(p3);
    ksession.insert(p4);
    ksession.fireAllRules();
    ksession.dispose();
}

8. Misc2Test#testCCEAfterDeserialization()

Project: drools
File: Misc2Test.java
@Test
public void testCCEAfterDeserialization() throws Exception {
    // DROOLS-1155
    String drl = "function boolean checkLength(int length) { return true; }\n" + "rule R dialect \"mvel\" when\n" + "    Boolean()" + "    String( $length : length )\n" + "    eval( checkLength($length) )\n" + "    ( Integer( ) or eval( true ) )\n" + "then\n" + "end";
    KieBase kbase1 = new KieHelper().addContent(drl, ResourceType.DRL).build();
    KieSession ksession1 = kbase1.newKieSession();
    ksession1.insert(true);
    ksession1.insert("test");
    assertEquals(1, ksession1.fireAllRules());
    KieBase kbase2 = SerializationHelper.serializeObject(kbase1, ((InternalKnowledgeBase) kbase1).getRootClassLoader());
    KieSession ksession2 = kbase2.newKieSession();
    ksession2.insert(true);
    ksession2.insert("test");
    assertEquals(1, ksession2.fireAllRules());
}

9. DeclarativeAgendaTest#testSimpleCancel()

Project: drools
File: DeclarativeAgendaTest.java
@Test(timeout = 60000L)
public void testSimpleCancel() {
    final KieBase kbase = buildKieBase("declarative-agenda-cancel.drl");
    final KieSession ksession = kbase.newKieSession();
    final OrderListener listener = new OrderListener();
    ksession.addEventListener(listener);
    // fires only sales1 rule, sales2 rule activation is canceled by
    // salesCancel rule
    ksession.insert("fireRules");
    ksession.insert("fireCancelRule");
    ksession.fireAllRules();
    Assertions.assertThat(listener.size()).isEqualTo(2);
    final String[] expected = { "salesCancel", "sales2" };
    for (int i = 0; i < listener.size(); i++) {
        Assertions.assertThat(listener.get(i)).isEqualTo(expected[i]);
    }
    ksession.dispose();
}

10. ReactiveKieSessionExampleTest#testGo()

Project: drools
File: ReactiveKieSessionExampleTest.java
@Test
public void testGo() {
    KieServices ks = KieServices.Factory.get();
    KieContainer kContainer = ks.getKieClasspathContainer();
    KieSession ksession = kContainer.newKieSession();
    List<String> list = new ArrayList<String>();
    ksession.setGlobal("list", list);
    ksession.fireAllRules();
    assertEquals(2, list.size());
    assertTrue(list.contains("car"));
    assertTrue(list.contains("ball"));
    list.clear();
    ksession.insert("Debbie");
    ksession.fireAllRules();
    ksession.fireAllRules();
    assertEquals(1, list.size());
    assertTrue(list.contains("doll"));
}

11. KieBaseInclusionExample#go()

Project: drools
File: KieBaseInclusionExample.java
public void go(PrintStream out) {
    KieServices ks = KieServices.Factory.get();
    KieContainer kContainer = ks.getKieClasspathContainer();
    KieSession kSession = kContainer.newKieSession("ksession2");
    kSession.setGlobal("out", out);
    kSession.insert(new Message("Dave", "Hello, HAL. Do you read me, HAL?"));
    kSession.fireAllRules();
    kSession.insert(new Message("Dave", "Open the pod bay doors, HAL."));
    kSession.fireAllRules();
}

12. KieModuleFromMultipleFilesExample#go()

Project: drools
File: KieModuleFromMultipleFilesExample.java
public void go(PrintStream out) {
    KieServices ks = KieServices.Factory.get();
    KieRepository kr = ks.getRepository();
    Resource ex1Res = ks.getResources().newFileSystemResource(getFile("kiebase-inclusion"));
    Resource ex2Res = ks.getResources().newFileSystemResource(getFile("named-kiesession"));
    KieModule kModule = kr.addKieModule(ex1Res, ex2Res);
    KieContainer kContainer = ks.newKieContainer(kModule.getReleaseId());
    KieSession kSession = kContainer.newKieSession("ksession2");
    kSession.setGlobal("out", out);
    Object msg1 = createMessage(kContainer, "Dave", "Hello, HAL. Do you read me, HAL?");
    kSession.insert(msg1);
    kSession.fireAllRules();
    Object msg2 = createMessage(kContainer, "Dave", "Open the pod bay doors, HAL.");
    kSession.insert(msg2);
    kSession.fireAllRules();
}

13. SimpleRuleTemplateExample#execute()

Project: drools
File: SimpleRuleTemplateExample.java
public static void execute(KieContainer kc) {
    KieSession ksession = kc.newKieSession("TemplatesKS");
    //now create some test data
    ksession.insert(new Cheese("stilton", 42));
    ksession.insert(new Person("michael", "stilton", 42));
    final List<String> list = new ArrayList<String>();
    ksession.setGlobal("list", list);
    ksession.fireAllRules();
    System.out.println(list);
    ksession.dispose();
}

14. AccumulateTest#testAccumulateInnerClass()

Project: drools
File: AccumulateTest.java
@Test(timeout = 10000)
public void testAccumulateInnerClass() throws Exception {
    // read in the source
    KieSession wm = getKieSessionFromResources("test_AccumulateInnerClass.drl");
    final List<?> results = new ArrayList<Object>();
    wm.setGlobal("results", results);
    wm.insert(new OuterClass.InnerClass(10));
    wm.insert(new OuterClass.InnerClass(5));
    wm.fireAllRules();
    assertEquals(15, results.get(0));
}

15. ExecutionFlowControlTest#testRuleFlowGroupDeactivate()

Project: drools
File: ExecutionFlowControlTest.java
@Test
public void testRuleFlowGroupDeactivate() throws Exception {
    // need to make eager, for cancel to work, (mdp)
    KieBase kbase = loadKnowledgeBase("ruleflowgroup2.drl");
    KieSession ksession = kbase.newKieSession();
    final List list = new ArrayList();
    ksession.setGlobal("list", list);
    ksession.insert("Test");
    ksession.fireAllRules();
    assertEquals(0, list.size());
    assertEquals(2, ((InternalAgenda) ksession.getAgenda()).getRuleFlowGroup("Group1").size());
    ((InternalAgenda) ksession.getAgenda()).activateRuleFlowGroup("Group1");
    ksession.fireAllRules();
    assertEquals(0, list.size());
}

16. ExecutionFlowControlTest#testRuleFlowGroup()

Project: drools
File: ExecutionFlowControlTest.java
@Test
public void testRuleFlowGroup() throws Exception {
    KieBase kbase = loadKnowledgeBase("ruleflowgroup.drl");
    KieSession ksession = kbase.newKieSession();
    final List list = new ArrayList();
    ksession.setGlobal("list", list);
    ksession.insert("Test");
    ksession.fireAllRules();
    assertEquals(0, list.size());
    ((InternalAgenda) ksession.getAgenda()).activateRuleFlowGroup("Group1");
    ksession.fireAllRules();
    assertEquals(1, list.size());
}

17. ExecutionFlowControlTest#testSalienceExpression()

Project: drools
File: ExecutionFlowControlTest.java
@Test
public void testSalienceExpression() throws Exception {
    KieBase kbase = loadKnowledgeBase("test_salienceExpressionRule.drl");
    KieSession ksession = kbase.newKieSession();
    final List list = new ArrayList();
    ksession.setGlobal("list", list);
    final PersonInterface person10 = new Person("bob", "cheese", 10);
    ksession.insert(person10);
    final PersonInterface person20 = new Person("mic", "cheese", 20);
    ksession.insert(person20);
    ksession.fireAllRules();
    assertEquals("Two rules should have been fired", 2, list.size());
    assertEquals("Rule 3 should have been fired first", "Rule 3", list.get(0));
    assertEquals("Rule 2 should have been fired second", "Rule 2", list.get(1));
}

18. AdHocSubProcessTest#testAdHocSubprocess()

Project: jbpm
File: AdHocSubProcessTest.java
@BZ("807187")
@Test(timeout = 30000)
public void testAdHocSubprocess() {
    KieSession kieSession = createKSession(ADHOC);
    TrackingProcessEventListener eventListener = new TrackingProcessEventListener();
    kieSession.addEventListener(eventListener);
    ProcessInstance pi = (ProcessInstance) kieSession.execute((Command<?>) CommandFactory.newStartProcess(ADHOC_ID));
    assertProcessStarted(eventListener, ADHOC_ID);
    assertTriggeredAndLeft(eventListener, "start");
    assertTriggered(eventListener, "adhoc");
    kieSession.execute((Command<?>) CommandFactory.newSignalEvent(pi.getId(), "script1", null));
    assertTriggeredAndLeft(eventListener, "script1");
    kieSession.execute((Command<?>) CommandFactory.newSignalEvent(pi.getId(), "script2", null));
    assertTriggeredAndLeft(eventListener, "script2");
    kieSession.execute((Command<?>) CommandFactory.newSignalEvent(pi.getId(), "script3", null));
    assertTriggeredAndLeft(eventListener, "script3");
    assertTriggered(eventListener, "innerEnd");
    assertLeft(eventListener, "adhoc");
    assertProcessCompleted(eventListener, ADHOC_ID);
}

19. StandaloneBPMNProcessTest#testConditionalStart()

Project: jbpm
File: StandaloneBPMNProcessTest.java
@Test
@Ignore("bpmn does not compile")
public void testConditionalStart() throws Exception {
    KieBase kbase = createKnowledgeBase("BPMN2-ConditionalStart.bpmn2");
    KieSession ksession = createKnowledgeSession(kbase);
    Person person = new Person();
    person.setName("jack");
    ksession.insert(person);
    ksession.fireAllRules();
    person = new Person();
    person.setName("john");
    ksession.insert(person);
    ksession.fireAllRules();
}

20. ReactiveKieSessionExample#go()

Project: drools
File: ReactiveKieSessionExample.java
public void go() {
    KieServices ks = KieServices.Factory.get();
    KieContainer kContainer = ks.getKieClasspathContainer();
    KieSession ksession = kContainer.newKieSession();
    List<String> list = new ArrayList<String>();
    ksession.setGlobal("list", list);
    ksession.fireAllRules();
    System.out.println(list);
    list.clear();
    ksession.insert("Debbie");
    ksession.fireAllRules();
    System.out.println(list);
}

21. PricingRuleTemplateExample#execute()

Project: drools
File: PricingRuleTemplateExample.java
public static void execute(KieContainer kc) {
    KieSession ksession = kc.newKieSession("DTableWithTemplateKS");
    //now create some test data
    Driver driver = new Driver();
    Policy policy = new Policy();
    ksession.insert(driver);
    ksession.insert(policy);
    ksession.fireAllRules();
    System.out.println("BASE PRICE IS: " + policy.getBasePrice());
    System.out.println("DISCOUNT IS: " + policy.getDiscountPercent());
    ksession.dispose();
    policy.getBasePrice();
}

22. CircularTmsExample#main()

Project: drools
File: CircularTmsExample.java
public static void main(final String[] args) {
    KieContainer kc = KieServices.Factory.get().getKieClasspathContainer();
    KieSession ksession = kc.newKieSession("CircularTmsKS");
    FactHandle fh = ksession.insert("A");
    ksession.fireAllRules();
    pause();
    ksession.delete(fh);
    ksession.fireAllRules();
    // Stateful rule session must always be disposed when finished
    ksession.dispose();
}

23. BussPassGoodExample#main()

Project: drools
File: BussPassGoodExample.java
public static void main(final String[] args) {
    KieContainer kc = KieServices.Factory.get().getKieClasspathContainer();
    KieSession ksession = kc.newKieSession("BussPassGoodKS");
    Person p = new Person("Yoda", 15);
    FactHandle fh = ksession.insert(p);
    ksession.fireAllRules();
    p.setAge(16);
    ksession.update(fh, p);
    ksession.fireAllRules();
    // Stateful rule session must always be disposed when finished
    ksession.dispose();
}

24. BussPassBadExample#main()

Project: drools
File: BussPassBadExample.java
public static void main(final String[] args) {
    KieContainer kc = KieServices.Factory.get().getKieClasspathContainer();
    KieSession ksession = kc.newKieSession("BussPassBadKS");
    Person p = new Person("Yoda", 15);
    FactHandle fh = ksession.insert(p);
    ksession.fireAllRules();
    p.setAge(16);
    ksession.update(fh, p);
    ksession.fireAllRules();
    // Stateful rule session must always be disposed when finished
    ksession.dispose();
}

25. SpreadsheetIntegrationExampleTest#testNamedWorksheet()

Project: drools
File: SpreadsheetIntegrationExampleTest.java
@Test
public void testNamedWorksheet() throws Exception {
    DecisionTableConfiguration dtconf = KnowledgeBuilderFactory.newDecisionTableConfiguration();
    dtconf.setInputType(DecisionTableInputType.XLS);
    dtconf.setWorksheetName("Tables_2");
    Resource dt = ResourceFactory.newClassPathResource("/data/IntegrationExampleTest.xls", getClass()).setConfiguration(dtconf);
    KieSession ksession = getKieSession(dt);
    //ASSERT AND FIRE
    ksession.insert(new Cheese("cheddar", 42));
    ksession.insert(new Person("michael", "stilton", 25));
    final List<String> list = new ArrayList<String>();
    ksession.setGlobal("list", list);
    ksession.fireAllRules();
    assertEquals(1, list.size());
    assertEquals("Young man cheddar", list.get(0));
}

26. SpreadsheetIntegrationExampleTest#testExecuteJBRULES3005()

Project: drools
File: SpreadsheetIntegrationExampleTest.java
@Test
public void testExecuteJBRULES3005() throws Exception {
    Resource dt = ResourceFactory.newClassPathResource("/data/IntegrationExampleTest.xls", getClass());
    KieSession ksession = getKieSession(dt);
    //ASSERT AND FIRE
    ksession.insert(new Cheese("stilton", 42));
    ksession.insert(new Person("michael", "stilton", 42));
    final List<String> list = new ArrayList<String>();
    ksession.setGlobal("list", list);
    ksession.fireAllRules();
    assertEquals(1, list.size());
    assertEquals("Old man stilton", list.get(0));
}

27. SpreadsheetIntegrationExampleTest#testExecuteUsingKieAPI()

Project: drools
File: SpreadsheetIntegrationExampleTest.java
@Test
public void testExecuteUsingKieAPI() throws Exception {
    // get the resource
    Resource dt = ResourceFactory.newClassPathResource("/data/IntegrationExampleTest.xls", getClass());
    // create the builder
    KieSession ksession = getKieSession(dt);
    ksession.insert(new Cheese("stilton", 42));
    ksession.insert(new Person("michael", "stilton", 42));
    final List<String> list = new ArrayList<String>();
    ksession.setGlobal("list", list);
    ksession.fireAllRules();
    assertEquals(1, list.size());
    assertEquals("Old man stilton", list.get(0));
}

28. TruthMaintenanceTest#testLogicalInsertionsNotPingPong()

Project: drools
File: TruthMaintenanceTest.java
@Test(timeout = 10000)
public void testLogicalInsertionsNotPingPong() throws Exception {
    KieBase kbase = loadKnowledgeBase("test_LogicalInsertionsNotPingPong.drl");
    KieSession ksession = kbase.newKieSession();
    final List list = new ArrayList();
    final Person person = new Person("person");
    final Cheese cheese = new Cheese("cheese", 0);
    ksession.setGlobal("cheese", cheese);
    ksession.setGlobal("person", person);
    ksession.setGlobal("list", list);
    ksession.fireAllRules();
    // not sure about desired state of working memory.
    assertEquals("Rules have not fired (looped) expected number of times", 10, list.size());
}

29. NullSafeDereferencingTest#testNullSafeNullComparisonReverseComplex()

Project: drools
File: NullSafeDereferencingTest.java
@Test
public void testNullSafeNullComparisonReverseComplex() {
    // DROOLS-82
    String str = "import org.drools.compiler.*;\n" + "rule R1 when\n" + "   Person( \"Main\".equalsIgnoreCase(address!.street!.substring(0, address!.street!.indexOf(' '))) )\n" + "then\n" + "end";
    KieBase kbase = loadKnowledgeBaseFromString(str);
    KieSession ksession = kbase.newKieSession();
    ksession.insert(new Person("Mario", 38));
    Person mark = new Person("Mark", 37);
    mark.setAddress(new Address("Main Street"));
    ksession.insert(mark);
    Person edson = new Person("Edson", 34);
    edson.setAddress(new Address(null));
    ksession.insert(edson);
    assertEquals(1, ksession.fireAllRules());
    ksession.dispose();
}

30. NullSafeDereferencingTest#testNullSafeNullComparisonReverse()

Project: drools
File: NullSafeDereferencingTest.java
@Test
public void testNullSafeNullComparisonReverse() {
    // DROOLS-82
    String str = "import org.drools.compiler.*;\n" + "rule R1 when\n" + "   Person( \"Main Street\".equalsIgnoreCase(address!.street) )\n" + "then\n" + "end";
    KieBase kbase = loadKnowledgeBaseFromString(str);
    KieSession ksession = kbase.newKieSession();
    ksession.insert(new Person("Mario", 38));
    Person mark = new Person("Mark", 37);
    mark.setAddress(new Address("Main Street"));
    ksession.insert(mark);
    Person edson = new Person("Edson", 34);
    edson.setAddress(new Address(null));
    ksession.insert(edson);
    assertEquals(1, ksession.fireAllRules());
    ksession.dispose();
}

31. NullSafeDereferencingTest#testNullSafeNullComparison()

Project: drools
File: NullSafeDereferencingTest.java
@Test
public void testNullSafeNullComparison() {
    String str = "import org.drools.compiler.*;\n" + "rule R1 when\n" + "   Person( address!.street == null ) \n" + "then\n" + "end";
    KieBase kbase = loadKnowledgeBaseFromString(str);
    KieSession ksession = kbase.newKieSession();
    ksession.insert(new Person("Mario", 38));
    Person mark = new Person("Mark", 37);
    mark.setAddress(new Address("Main Street"));
    ksession.insert(mark);
    Person edson = new Person("Edson", 34);
    edson.setAddress(new Address(null));
    ksession.insert(edson);
    assertEquals(1, ksession.fireAllRules());
    ksession.dispose();
}

32. NullSafeDereferencingTest#testNullSafeBinding()

Project: drools
File: NullSafeDereferencingTest.java
@Test
public void testNullSafeBinding() {
    String str = "import org.drools.compiler.*;\n" + "rule R1 when\n" + "   Person( $streetName : address!.street ) \n" + "then\n" + "end";
    KieBase kbase = loadKnowledgeBaseFromString(str);
    KieSession ksession = kbase.newKieSession();
    ksession.insert(new Person("Mario", 38));
    Person mark = new Person("Mark", 37);
    mark.setAddress(new Address("Main Street"));
    ksession.insert(mark);
    Person edson = new Person("Edson", 34);
    edson.setAddress(new Address(null));
    ksession.insert(edson);
    assertEquals(2, ksession.fireAllRules());
    ksession.dispose();
}

33. Misc2Test#testLeftTupleGetIndex()

Project: drools
File: Misc2Test.java
@Test
public void testLeftTupleGetIndex() throws Exception {
    // DROOLS-570
    String drl = "rule R1 when\n" + "    $s : String()\n" + "    (or Long(this == 1) Long(this == 2) )\n" + "then\n" + "end\n" + "rule R2 extends R1 when\n" + "    $n : Number() from accumulate( Integer($value : this); sum($value) )\n" + "then\n" + "    System.out.println($n);\n" + "end\n";
    KieHelper helper = new KieHelper();
    helper.addContent(drl, ResourceType.DRL);
    KieSession ksession = helper.build().newKieSession();
    ksession.insert("1");
    ksession.insert(1L);
    ksession.insert(1);
    ksession.fireAllRules();
}

34. Misc2Test#testMethodResolution()

Project: drools
File: Misc2Test.java
@Test
public void testMethodResolution() throws Exception {
    // DROOLS-509
    String drl = "import " + I1.class.getCanonicalName() + ";\n" + "rule R1 when\n" + "    I1 ( value == \"x\" )\n" + "then\n" + "end";
    KieHelper helper = new KieHelper();
    helper.addContent(drl, ResourceType.DRL);
    KieSession ksession = helper.build().newKieSession();
    ksession.insert(new Y());
    ksession.fireAllRules();
    ksession.insert(new Z());
    ksession.fireAllRules();
}

35. ExecutionFlowControlTest#testDateEffective()

Project: drools
File: ExecutionFlowControlTest.java
@Test
public void testDateEffective() throws Exception {
    // read in the source
    KieBase kbase = loadKnowledgeBase("test_EffectiveDate.drl");
    KieSession ksession = kbase.newKieSession();
    final List list = new ArrayList();
    ksession.setGlobal("list", list);
    // go !
    final Message message = new Message("hola");
    ksession.insert(message);
    ksession.fireAllRules();
    assertFalse(message.isFired());
}

36. ExecutionFlowControlTest#testActivationGroups()

Project: drools
File: ExecutionFlowControlTest.java
@Test
public void testActivationGroups() throws Exception {
    KieBase kbase = loadKnowledgeBase("test_ActivationGroups.drl");
    KieSession ksession = kbase.newKieSession();
    final List list = new ArrayList();
    ksession.setGlobal("list", list);
    final Cheese brie = new Cheese("brie", 12);
    ksession.insert(brie);
    ksession.fireAllRules();
    assertEquals(2, list.size());
    assertEquals("rule0", list.get(0));
    assertEquals("rule2", list.get(1));
}

37. ExecutionFlowControlTest#testNoLoopWithModify()

Project: drools
File: ExecutionFlowControlTest.java
@Test
public void testNoLoopWithModify() throws Exception {
    KieBase kbase = loadKnowledgeBase("no-loop_with_modify.drl");
    KieSession ksession = kbase.newKieSession();
    final List list = new ArrayList();
    ksession.setGlobal("list", list);
    final Cheese brie = new Cheese("brie", 12);
    ksession.insert(brie);
    ksession.fireAllRules();
    assertEquals("Should not loop  and thus size should be 1", 1, list.size());
    assertEquals(50, brie.getPrice());
}

38. ExecutionFlowControlTest#testNoLoop()

Project: drools
File: ExecutionFlowControlTest.java
@Test
public void testNoLoop() throws Exception {
    KieBase kbase = loadKnowledgeBase("no-loop.drl");
    KieSession ksession = kbase.newKieSession();
    ;
    final List list = new ArrayList();
    ksession.setGlobal("list", list);
    final Cheese brie = new Cheese("brie", 12);
    ksession.insert(brie);
    ksession.fireAllRules();
    assertEquals("Should not loop  and thus size should be 1", 1, list.size());
}

39. ExecutionFlowControlTest#testSalienceIntegerAndLoadOrder()

Project: drools
File: ExecutionFlowControlTest.java
@Test(timeout = 10000)
public void testSalienceIntegerAndLoadOrder() throws Exception {
    KieBase kbase = loadKnowledgeBase("test_salienceIntegerRule.drl");
    KieSession ksession = kbase.newKieSession();
    final List list = new ArrayList();
    ksession.setGlobal("list", list);
    final PersonInterface person = new Person("Edson", "cheese");
    ksession.insert(person);
    ksession.fireAllRules();
    assertEquals("Three rules should have been fired", 3, list.size());
    assertEquals("Rule 4 should have been fired first", "Rule 4", list.get(0));
    assertEquals("Rule 2 should have been fired second", "Rule 2", list.get(1));
    assertEquals("Rule 3 should have been fired third", "Rule 3", list.get(2));
}

40. TestingEventListenerTest#testExclusive()

Project: drools
File: TestingEventListenerTest.java
@Test
public void testExclusive() throws Exception {
    HashSet<String> set = new HashSet<String>();
    set.add("rule3");
    KieSession session = getKieSession("test_rules.drl");
    TestingEventListener ls = new TestingEventListener();
    //TestingEventListener.stubOutRules(set, session.getRuleBase(), false);
    session.addEventListener(ls);
    session.insert(new Cheese());
    session.fireAllRules(ls.getAgendaFilter(set, false));
    //assertEquals(new Integer(1), (Integer) ls.firingCounts.get("rule1"));
    //assertEquals(new Integer(1), (Integer) ls.firingCounts.get("rule2"));
    assertEquals(new Integer(1), (Integer) ls.firingCounts.get("rule2"));
    assertEquals(new Integer(1), (Integer) ls.firingCounts.get("rule1"));
    assertFalse(ls.firingCounts.containsKey("rule3"));
    assertFalse(ls.firingCounts.containsKey("rule4"));
}

41. TemplateIntegrationTest#test()

Project: drools
File: TemplateIntegrationTest.java
@Test
public void test() {
    String drl = "global java.util.List list\n" + "rule \"String detector\"\n" + "    when\n" + "        $s : String( )\n" + "    then\n" + "        list.add($s);\n" + "end";
    final KieSession ksession = new KieHelper().addContent(template, ResourceType.TEMPLATE).build().newKieSession();
    Company myCompany = new Company(123, "myCompany");
    Company yourCompany = new Company(456, "yourCompany");
    ksession.insert(myCompany);
    ksession.insert(yourCompany);
    ksession.fireAllRules();
    assertTrue(myCompany.isFound());
    assertFalse(yourCompany.isFound());
}

42. UnwantedStringConversionTest#testStringToDecimalConversion()

Project: drools
File: UnwantedStringConversionTest.java
@Test
public void testStringToDecimalConversion() {
    final Resource drlResource = KieServices.Factory.get().getResources().newClassPathResource("unwantedStringConversionTest.drl", getClass());
    final KieBase kieBase = KieBaseUtil.getKieBaseAndBuildInstallModule(TestConstants.PACKAGE_REGRESSION, kieBaseTestConfiguration, drlResource);
    final KieSession ksession = kieBase.newKieSession();
    final TrackingAgendaEventListener listener = new TrackingAgendaEventListener();
    ksession.addEventListener(listener);
    final Message message = new Message();
    final SomeEntity someEntity = new SomeEntity("1.5");
    message.setSomeEntity(someEntity);
    message.setMessage("1.5");
    ksession.insert(message);
    ksession.fireAllRules();
    Assertions.assertThat(listener.isRuleFired("R1")).isFalse();
    Assertions.assertThat(listener.isRuleFired("R2")).isFalse();
    Assertions.assertThat(listener.rulesCount()).isEqualTo(0);
}

43. LogicalInsertFromCollectionTest#testAddElement()

Project: drools
File: LogicalInsertFromCollectionTest.java
@Test
public void testAddElement() {
    final KieSession ksession = getKieBaseForTest().newKieSession();
    final Collection<Integer> collection = new ArrayList<Integer>();
    for (int i = 0; i < 4; i++) {
        collection.add(i);
    }
    FactHandle handle = ksession.insert(collection);
    ksession.fireAllRules();
    // before adding 5 facts
    Assertions.assertThat(ksession.getFactCount()).isEqualTo((long) 5);
    collection.add(42);
    ksession.update(handle, collection);
    ksession.fireAllRules();
    // after adding should be 6 facts
    Assertions.assertThat(ksession.getFactCount()).isEqualTo((long) 6);
}

44. DecisionTableTest#testActivationGroup()

Project: drools
File: DecisionTableTest.java
@Test
public void testActivationGroup() {
    final Resource decisionTable = ResourceUtil.getDecisionTableResourceFromClasspath("agenda-group.csv", getClass(), DecisionTableInputType.CSV);
    final KieBase kbase = KieBaseUtil.getKieBaseFromResources(true, decisionTable);
    final KieSession ksession = kbase.newKieSession();
    final TrackingAgendaEventListener listener = new TrackingAgendaEventListener();
    ksession.addEventListener(listener);
    // only one rule from activation group may fire
    ksession.insert("activationGroup");
    ksession.fireAllRules();
    Assertions.assertThat(listener.isRuleFired("c1")).isFalse();
    Assertions.assertThat(listener.isRuleFired("c2")).isTrue();
    Assertions.assertThat(listener.isRuleFired("c3")).isFalse();
}

45. DecisionTableTest#testLockOnActive()

Project: drools
File: DecisionTableTest.java
@Test
public void testLockOnActive() {
    final Resource decisionTable = ResourceUtil.getDecisionTableResourceFromClasspath("agenda-group.csv", getClass(), DecisionTableInputType.CSV);
    final KieBase kbase = KieBaseUtil.getKieBaseFromResources(true, decisionTable);
    final KieSession ksession = kbase.newKieSession();
    final OrderListener listener = new OrderListener();
    ksession.addEventListener(listener);
    ksession.insert("lockOnActive");
    ksession.fireAllRules();
    Assertions.assertThat(listener.size()).isEqualTo(3);
    final String[] expected = { "a", "a2", "a3" };
    for (int i = 0; i < listener.size(); i++) {
        Assertions.assertThat(listener.get(i)).isEqualTo(expected[i]);
    }
}

46. DecisionTableTest#testSequential()

Project: drools
File: DecisionTableTest.java
/**
     * Test sequential turned on, it overrides all user defined saliences.
     */
@Test
public void testSequential() {
    final Resource decisionTable = ResourceUtil.getDecisionTableResourceFromClasspath("sequential.csv", getClass(), DecisionTableInputType.CSV);
    final KieBase kbase = KieBaseUtil.getKieBaseFromResources(true, decisionTable);
    final KieSession ksession = kbase.newKieSession();
    final OrderListener listener = new OrderListener();
    ksession.addEventListener(listener);
    ksession.insert("something");
    ksession.fireAllRules();
    Assertions.assertThat(listener.size()).as("Wrong number of rules fired").isEqualTo(3);
    final String[] expected = { "Rule1", "Rule2", "Rule3" };
    for (int i = 0; i < 3; i++) {
        Assertions.assertThat(listener.get(i)).isEqualTo(expected[i]);
    }
}

47. DecisionTableTest#testEvalTable()

Project: drools
File: DecisionTableTest.java
/**
     * test for various evaluations, file sample_eval_dt.xls need to rewrite xls
     * table and maybe add some classes to be able to do the test
     */
@Test
public void testEvalTable() {
    final Resource decisionTable = ResourceUtil.getDecisionTableResourceFromClasspath("eval_dt.xls", getClass(), DecisionTableInputType.XLS);
    final KieBase kbase = KieBaseUtil.getKieBaseFromResources(true, decisionTable);
    Assertions.assertThat(2).isEqualTo(kbase.getKiePackages().size());
    KieSession session = kbase.newKieSession();
    final TrackingAgendaEventListener rulesFired = new TrackingAgendaEventListener();
    session.addEventListener(rulesFired);
    rulesFired.clear();
    // eval test 1
    final Subject mary = new Subject("Mary");
    mary.setDummy(1);
    session.insert(mary);
    session.fireAllRules();
    Assertions.assertThat(rulesFired.isRuleFired("evalTest1")).isTrue();
    Assertions.assertThat(rulesFired.isRuleFired("evalTest2")).isFalse();
    Assertions.assertThat(rulesFired.isRuleFired("evalTest3")).isFalse();
    Assertions.assertThat(rulesFired.isRuleFired("evalTest4")).isFalse();
    Assertions.assertThat(rulesFired.isRuleFired("simpleBindingTest")).isFalse();
    session.dispose();
    // eval test 2
    session = kbase.newKieSession();
    session.addEventListener(rulesFired);
    rulesFired.clear();
    final Subject inge = new Subject("Inge");
    inge.setAge(7);
    inge.setSex("F");
    final Subject jochen = new Subject("Jochen");
    jochen.setAge(9);
    jochen.setSex("M");
    session.insert(inge);
    session.insert(jochen);
    session.fireAllRules();
    Assertions.assertThat(rulesFired.isRuleFired("evalTest1")).isFalse();
    Assertions.assertThat(rulesFired.isRuleFired("evalTest2")).isTrue();
    Assertions.assertThat(rulesFired.isRuleFired("evalTest3")).isFalse();
    Assertions.assertThat(rulesFired.isRuleFired("evalTest4")).isFalse();
    Assertions.assertThat(rulesFired.isRuleFired("simpleBindingTest")).isFalse();
    session.dispose();
    // eval test 3, will run four times, there are four combinations
    session = kbase.newKieSession();
    session.addEventListener(rulesFired);
    rulesFired.clear();
    final Subject karl = new Subject("Karl");
    karl.setSex("male");
    final Subject egon = new Subject("Egon");
    egon.setSex("male");
    session.insert(karl);
    session.insert(egon);
    session.fireAllRules();
    Assertions.assertThat(rulesFired.isRuleFired("evalTest1")).isFalse();
    Assertions.assertThat(rulesFired.isRuleFired("evalTest2")).isFalse();
    Assertions.assertThat(rulesFired.isRuleFired("evalTest3")).isTrue();
    Assertions.assertThat(rulesFired.isRuleFired("evalTest4")).isFalse();
    Assertions.assertThat(rulesFired.isRuleFired("simpleBindingTest")).isFalse();
    session.dispose();
    // eval test 4
    session = kbase.newKieSession();
    session.addEventListener(rulesFired);
    rulesFired.clear();
    final Subject gerda = new Subject("Gerda");
    gerda.setSex("female");
    gerda.setAge(9);
    gerda.setDummy(-10);
    session.insert(gerda);
    session.fireAllRules();
    Assertions.assertThat(rulesFired.isRuleFired("evalTest1")).isFalse();
    Assertions.assertThat(rulesFired.isRuleFired("evalTest2")).isFalse();
    Assertions.assertThat(rulesFired.isRuleFired("evalTest3")).isFalse();
    Assertions.assertThat(rulesFired.isRuleFired("evalTest4")).isTrue();
    Assertions.assertThat(rulesFired.isRuleFired("simpleBindingTest")).isFalse();
    session.dispose();
    // eval test 5 - simple binding
    session = kbase.newKieSession();
    session.addEventListener(rulesFired);
    rulesFired.clear();
    final List<Sample> results = new ArrayList<Sample>();
    session.setGlobal("results", results);
    final Sample sample = new Sample();
    session.insert(sample);
    session.fireAllRules();
    Assertions.assertThat(rulesFired.isRuleFired("evalTest1")).isFalse();
    Assertions.assertThat(rulesFired.isRuleFired("evalTest2")).isFalse();
    Assertions.assertThat(rulesFired.isRuleFired("evalTest3")).isFalse();
    Assertions.assertThat(rulesFired.isRuleFired("evalTest4")).isFalse();
    Assertions.assertThat(rulesFired.isRuleFired("simpleBindingTest")).isTrue();
    session.dispose();
}

48. DecisionTableTest#testSimpleDecisionTable()

Project: drools
File: DecisionTableTest.java
private void testSimpleDecisionTable(final Resource decisionTable) {
    final KieBase kbase = KieBaseUtil.getKieBaseFromResources(true, decisionTable);
    final KieSession session = kbase.newKieSession();
    final Person person = new Person("Paul");
    person.setId(1);
    Assertions.assertThat(person.getName()).isEqualTo("Paul");
    Assertions.assertThat(person.getId()).isEqualTo(1);
    session.insert(person);
    session.fireAllRules();
    Assertions.assertThat(person.getName()).isEqualTo("Paul");
    Assertions.assertThat(person.getId()).isEqualTo(2);
    session.dispose();
}

49. ScorecardsKModuleTest#testScorecardFromKModule2()

Project: drools
File: ScorecardsKModuleTest.java
@Test
public void testScorecardFromKModule2() throws Exception {
    KieServices ks = KieServices.Factory.get();
    KieContainer kContainer = ks.getKieClasspathContainer();
    KieBase kBase = kContainer.getKieBase("namedkiesession");
    assertNotNull(kBase);
    KieSession kSession = kContainer.newKieSession("ksession1");
    assertNotNull(kSession);
    FactType scorecardType = kBase.getFactType("org.drools.scorecards.example", "SampleScore");
    assertNotNull(scorecardType);
    Object scorecard = scorecardType.newInstance();
    assertNotNull(scorecard);
    scorecardType.set(scorecard, "age", 10);
    kSession.insert(scorecard);
    kSession.fireAllRules();
    kSession.dispose();
    //occupation = 5, age = 25, validLicence -1
    assertEquals(29.0, scorecardType.get(scorecard, "scorecard__calculatedScore"));
}

50. StartEventTest#testDelayingTimerStartEvent()

Project: jbpm
File: StartEventTest.java
@Test(timeout = 30000)
public void testDelayingTimerStartEvent() throws Exception {
    KieSession ksession = createKSession(TIMER_DURATION);
    TrackingProcessEventListener process = new TrackingProcessEventListener();
    ksession.addEventListener(process);
    ksession.fireAllRules();
    assertTrue("The process did not start on time!", process.waitForProcessToStart(1000));
    assertTrue("The process did not complete on time!", process.waitForProcessToComplete(1000));
    ksession.fireAllRules();
    Assertions.assertThat(process.wasProcessStarted(TIMER_DURATION_ID)).isTrue();
    Assertions.assertThat(process.wasProcessCompleted(TIMER_DURATION_ID)).isTrue();
    process.clear();
}

51. StartEventTest#testSignalStartEvent()

Project: jbpm
File: StartEventTest.java
@Test(timeout = 30000)
public void testSignalStartEvent() {
    KieSession ksession = createKSession(SIGNAL);
    IterableProcessEventListener events = new IterableProcessEventListener();
    TrackingProcessEventListener process = new TrackingProcessEventListener();
    ksession.addEventListener(events);
    ksession.addEventListener(process);
    Command<?> cmd = getCommands().newSignalEvent("start", null);
    ksession.execute(cmd);
    Assertions.assertThat(process.wasProcessStarted(SIGNAL_ID)).isTrue();
    Assertions.assertThat(process.wasProcessCompleted(SIGNAL_ID)).isTrue();
    assertProcessStarted(events, SIGNAL_ID);
    assertNextNode(events, "start");
    assertNextNode(events, "script");
    assertNextNode(events, "end");
    assertProcessCompleted(events, SIGNAL_ID);
    Assertions.assertThat(events.hasNext()).isFalse();
}

52. StartEventTest#testNoneStartEvent()

Project: jbpm
File: StartEventTest.java
@Test(timeout = 30000)
public void testNoneStartEvent() {
    KieSession ksession = createKSession(NONE);
    IterableProcessEventListener events = new IterableProcessEventListener();
    TrackingProcessEventListener process = new TrackingProcessEventListener();
    ksession.addEventListener(events);
    ksession.addEventListener(process);
    Command<?> cmd = getCommands().newStartProcess(NONE_ID);
    ksession.execute(cmd);
    Assertions.assertThat(process.wasProcessStarted(NONE_ID)).isTrue();
    Assertions.assertThat(process.wasProcessCompleted(NONE_ID)).isTrue();
    assertProcessStarted(events, NONE_ID);
    assertNextNode(events, "start");
    assertNextNode(events, "script");
    assertNextNode(events, "end");
    assertProcessCompleted(events, NONE_ID);
    Assertions.assertThat(events.hasNext()).isFalse();
}

53. StartEventTest#testMessageStartEvent()

Project: jbpm
File: StartEventTest.java
@Test(timeout = 30000)
public void testMessageStartEvent() {
    KieSession ksession = createKSession(MESSAGE);
    IterableProcessEventListener events = new IterableProcessEventListener();
    TrackingProcessEventListener process = new TrackingProcessEventListener();
    ksession.addEventListener(events);
    ksession.addEventListener(process);
    Command<?> cmd = getCommands().newSignalEvent("Message-type", null);
    ksession.execute(cmd);
    Assertions.assertThat(process.wasProcessStarted(MESSAGE_ID)).isTrue();
    Assertions.assertThat(process.wasProcessCompleted(MESSAGE_ID)).isTrue();
    assertProcessStarted(events, MESSAGE_ID);
    assertNextNode(events, "start");
    assertNextNode(events, "script");
    assertNextNode(events, "end");
    assertProcessCompleted(events, MESSAGE_ID);
    Assertions.assertThat(events.hasNext()).isFalse();
}

54. StartEventTest#testConditionalStartEvent()

Project: jbpm
File: StartEventTest.java
@Test(timeout = 30000)
public void testConditionalStartEvent() {
    KieSession ksession = createKSession(CONDITIONAL);
    IterableProcessEventListener events = new IterableProcessEventListener();
    TrackingProcessEventListener process = new TrackingProcessEventListener();
    ksession.addEventListener(events);
    ksession.addEventListener(process);
    List<Command<?>> cmds = new ArrayList<Command<?>>();
    cmds.add(getCommands().newInsert("condition"));
    cmds.add(getCommands().newFireAllRules());
    ksession.execute(getCommands().newBatchExecution(cmds, null));
    Assertions.assertThat(process.wasProcessStarted(CONDITIONAL_ID)).isTrue();
    Assertions.assertThat(process.wasProcessCompleted(CONDITIONAL_ID)).isTrue();
    assertProcessStarted(events, CONDITIONAL_ID);
    assertNextNode(events, "start");
    assertNextNode(events, "script");
    assertNextNode(events, "end");
    assertProcessCompleted(events, CONDITIONAL_ID);
    Assertions.assertThat(events.hasNext()).isFalse();
}

55. EndEventTest#testTerminatingEndEvent()

Project: jbpm
File: EndEventTest.java
@Test(timeout = 30000)
public void testTerminatingEndEvent() {
    KieSession ksession = createKSession(TERMINATING);
    IterableProcessEventListener events = new IterableProcessEventListener();
    TrackingProcessEventListener process = new TrackingProcessEventListener();
    ksession.addEventListener(events);
    ksession.addEventListener(process);
    Command<?> cmd = getCommands().newStartProcess(TERMINATING_ID);
    ksession.execute(cmd);
    Assertions.assertThat(process.wasProcessStarted(TERMINATING_ID)).isTrue();
    Assertions.assertThat(process.wasProcessCompleted(TERMINATING_ID)).isTrue();
    assertProcessStarted(events, TERMINATING_ID);
    assertNextNode(events, "start");
    assertNextNode(events, "script");
    assertNextNode(events, "end");
    assertProcessCompleted(events, TERMINATING_ID);
    Assertions.assertThat(events.hasNext()).isFalse();
}

56. EndEventTest#testNoneEndEvent()

Project: jbpm
File: EndEventTest.java
@Test(timeout = 30000)
public void testNoneEndEvent() {
    KieSession ksession = createKSession(NONE);
    IterableProcessEventListener events = new IterableProcessEventListener();
    TrackingProcessEventListener process = new TrackingProcessEventListener();
    ksession.addEventListener(events);
    ksession.addEventListener(process);
    Command<?> cmd = CommandFactory.newStartProcess(NONE_ID);
    ksession.execute(cmd);
    Assertions.assertThat(process.wasProcessStarted(NONE_ID)).isTrue();
    Assertions.assertThat(process.wasProcessCompleted(NONE_ID)).isTrue();
    assertProcessStarted(events, NONE_ID);
    assertNextNode(events, "start");
    assertNextNode(events, "script");
    assertNextNode(events, "end");
    assertProcessCompleted(events, NONE_ID);
    Assertions.assertThat(events.hasNext()).isFalse();
}

57. EndEventTest#testEscalationEndEvent()

Project: jbpm
File: EndEventTest.java
@BZ("1015221")
@Test(timeout = 30000)
public void testEscalationEndEvent() {
    KieSession ksession = createKSession(ESCALATION);
    IterableProcessEventListener events = new IterableProcessEventListener();
    TrackingProcessEventListener process = new TrackingProcessEventListener();
    ksession.addEventListener(events);
    ksession.addEventListener(process);
    Command<?> cmd = getCommands().newStartProcess(ESCALATION_ID);
    ksession.execute(cmd);
    Assertions.assertThat(process.wasProcessStarted(ESCALATION_ID)).isTrue();
    Assertions.assertThat(process.wasProcessCompleted(ESCALATION_ID)).isFalse();
    Assertions.assertThat(process.wasProcessAborted(ESCALATION_ID)).isTrue();
    assertProcessStarted(events, ESCALATION_ID);
    assertNextNode(events, "start");
    assertNextNode(events, "script");
    assertTriggered(events, "end");
    assertProcessCompleted(events, ESCALATION_ID);
    assertFalse(events.hasNext());
}

58. EndEventTest#testErrorEndEvent()

Project: jbpm
File: EndEventTest.java
@Test(timeout = 30000)
public void testErrorEndEvent() {
    KieSession ksession = createKSession(ERROR);
    IterableProcessEventListener events = new IterableProcessEventListener();
    TrackingProcessEventListener process = new TrackingProcessEventListener();
    ksession.addEventListener(events);
    ksession.addEventListener(process);
    Command<?> cmd = getCommands().newStartProcess(ERROR_ID);
    ksession.execute(cmd);
    Assertions.assertThat(process.wasProcessStarted(ERROR_ID)).isTrue();
    Assertions.assertThat(process.wasProcessCompleted(ERROR_ID)).isFalse();
    Assertions.assertThat(process.wasProcessAborted(ERROR_ID)).isTrue();
    assertProcessStarted(events, ERROR_ID);
    assertNextNode(events, "start");
    assertNextNode(events, "script");
    assertTriggered(events, "end");
    assertProcessCompleted(events, ERROR_ID);
    Assertions.assertThat(events.hasNext()).isFalse();
}

59. TimerAndCalendarTest#testTimerWithNot()

Project: drools
File: TimerAndCalendarTest.java
@Test(timeout = 10000)
public void testTimerWithNot() throws Exception {
    KnowledgeBase kbase = loadKnowledgeBase("test_Timer_With_Not.drl");
    KieSession ksession = createKnowledgeSession(kbase);
    ksession.fireAllRules();
    Thread.sleep(200);
    ksession.fireAllRules();
    Thread.sleep(200);
    ksession.fireAllRules();
    // now check that rule "wrap A" fired once, creating one B
    assertEquals(2, ksession.getFactCount());
}

60. Misc2Test#testComplexEvals2()

Project: drools
File: Misc2Test.java
@Test
public void testComplexEvals2() {
    // DROOLS-1139
    String drl = "rule R1 when\n" + "    $s : String()\n" + "    Boolean()\n" + "    $i : Integer()" + "    and (eval($s.length() > 2)\n" + "        or (eval(true) and eval(true)))\n" + "    and (eval(true)\n" + "         or ( eval($i > 2) and (eval(true))))\n\n" + "then \n" + "end\n";
    KieSession kieSession = new KieHelper().addContent(drl, ResourceType.DRL).build().newKieSession();
    kieSession.insert(42);
    kieSession.insert("test");
    kieSession.insert(true);
    assertEquals(4, kieSession.fireAllRules());
}

61. Misc2Test#testIn()

Project: drools
File: Misc2Test.java
@Test
public void testIn() {
    // DROOLS-1037
    String drl = "import " + Person.class.getCanonicalName() + "\n" + "global java.util.List list;\n" + "rule R when\n" + "    $p : Person( name == null || (name in (\"Alice\", \"Charlie\", \"David\"))==false )\n" + "then\n" + "    list.add($p.getName());\n" + "end\n";
    KieSession ksession = new KieHelper().addContent(drl, ResourceType.DRL).build().newKieSession();
    List<String> list = new ArrayList<String>();
    ksession.setGlobal("list", list);
    ksession.insert(new Person("Bob"));
    ksession.fireAllRules();
    assertEquals(1, list.size());
    assertEquals("Bob", list.get(0));
}

62. Misc2Test#testDoubleNestedClass()

Project: drools
File: Misc2Test.java
@Test
public void testDoubleNestedClass() {
    // DROOLS-815
    String drl = "import " + $X.$Y.class.getCanonicalName() + ";\n" + "global java.util.List list\n" + "rule R when\n" + "    $X.$Y($v : value)\n" + "then\n" + "    list.add($v);\n" + "end";
    KieSession ksession = new KieHelper().addContent(drl, ResourceType.DRL).build().newKieSession();
    List<String> list = new ArrayList<String>();
    ksession.setGlobal("list", list);
    ksession.insert(new $X.$Y(42));
    ksession.fireAllRules();
    assertEquals(1, list.size());
    assertEquals(42, list.get(0));
}

63. Misc2Test#testJITIncompatibleTypes()

Project: drools
File: Misc2Test.java
@Test
public void testJITIncompatibleTypes() throws Exception {
    // BZ-1101295
    String drl = "import " + Host.class.getCanonicalName() + ";\n" + "rule R when\n" + "    $s: String()" + "    Host($s == this)\n" + "then\n" + "end";
    KieHelper helper = new KieHelper();
    helper.addContent(drl, ResourceType.DRL);
    KieSession ksession = helper.build().newKieSession();
    ksession.insert(new Host());
    ksession.insert("host");
    ksession.fireAllRules();
}

64. CleanupTest#testCleanupScorecard()

Project: drools
File: CleanupTest.java
@Test
public void testCleanupScorecard() {
    KieSession kSession = getModelSession(source6);
    kSession.fireAllRules();
    assertTrue(kSession.getObjects().size() > 0);
    Collection qres = getModelMarker(kSession, "SampleScore");
    assertEquals(1, qres.size());
    kSession.getEntryPoint("enable_SampleScore").insert(Boolean.FALSE);
    kSession.fireAllRules();
    assertEquals(1, kSession.getObjects().size());
    kSession.dispose();
    checkGeneratedRules();
}

65. CleanupTest#testCleanupSVM()

Project: drools
File: CleanupTest.java
@Test
public void testCleanupSVM() {
    KieSession kSession = getModelSession(source5);
    kSession.fireAllRules();
    assertTrue(kSession.getObjects().size() > 0);
    Collection qres = getModelMarker(kSession, "SVMXORModel");
    assertEquals(1, qres.size());
    kSession.getEntryPoint("enable_SVMXORModel").insert(Boolean.FALSE);
    kSession.fireAllRules();
    assertEquals(1, kSession.getObjects().size());
    kSession.dispose();
    checkGeneratedRules();
}

66. CleanupTest#testCleanupClustering()

Project: drools
File: CleanupTest.java
@Test
public void testCleanupClustering() {
    KieSession kSession = getModelSession(source4);
    kSession.fireAllRules();
    assertTrue(kSession.getObjects().size() > 0);
    Collection qres = getModelMarker(kSession, "CenterClustering");
    assertEquals(1, qres.size());
    kSession.getEntryPoint("enable_CenterClustering").insert(Boolean.FALSE);
    kSession.fireAllRules();
    assertEquals(1, kSession.getObjects().size());
    kSession.dispose();
    checkGeneratedRules();
}

67. CleanupTest#testCleanupRegression()

Project: drools
File: CleanupTest.java
@Test
public void testCleanupRegression() {
    KieSession kSession = getModelSession(source3);
    kSession.fireAllRules();
    assertTrue(kSession.getObjects().size() > 0);
    Collection qres = getModelMarker(kSession, "LinReg");
    assertEquals(1, qres.size());
    kSession.getEntryPoint("enable_LinReg").insert(Boolean.FALSE);
    kSession.fireAllRules();
    assertEquals(1, kSession.getObjects().size());
    kSession.dispose();
    checkGeneratedRules();
}

68. CleanupTest#testCleanupDT()

Project: drools
File: CleanupTest.java
@Test
public void testCleanupDT() {
    KieSession kSession = getModelSession(source2);
    kSession.fireAllRules();
    assertTrue(kSession.getObjects().size() > 0);
    Collection qres = getModelMarker(kSession, "TreeTest");
    assertEquals(1, qres.size());
    kSession.getEntryPoint("enable_TreeTest").insert(Boolean.FALSE);
    kSession.fireAllRules();
    assertEquals(1, kSession.getObjects().size());
    kSession.dispose();
    checkGeneratedRules();
}

69. CleanupTest#testCleanupANN()

Project: drools
File: CleanupTest.java
@Test
public void testCleanupANN() {
    KieSession kSession = getModelSession(source1);
    kSession.fireAllRules();
    assertTrue(kSession.getObjects().size() > 0);
    Collection qres = getModelMarker(kSession, "Neuiris");
    assertEquals(1, qres.size());
    kSession.getEntryPoint("enable_Neuiris").insert(Boolean.FALSE);
    kSession.fireAllRules();
    assertEquals(1, kSession.getObjects().size());
    kSession.dispose();
    checkGeneratedRules();
}

70. JpaPersistentStatefulSessionTest#testMoreComplexRulesSerialization()

Project: drools
File: JpaPersistentStatefulSessionTest.java
@Test
public void testMoreComplexRulesSerialization() throws Exception {
    KieServices ks = KieServices.Factory.get();
    Resource drlResource = ks.getResources().newClassPathResource("collect_rules.drl", JpaPersistentStatefulSessionTest.class);
    KieFileSystem kfs = ks.newKieFileSystem().write("src/main/resources/r1.drl", drlResource);
    ks.newKieBuilder(kfs).buildAll();
    KieBase kbase = ks.newKieContainer(ks.getRepository().getDefaultReleaseId()).getKieBase();
    KieSession ksession = ks.getStoreServices().newKieSession(kbase, null, env);
    List<String> list = new ArrayList<String>();
    ksession.setGlobal("list", list);
    FactType hereType = kbase.getFactType(this.getClass().getPackage().getName(), "Here");
    assertNotNull(hereType);
    Object here = hereType.newInstance();
    hereType.set(here, "place", "office");
    ksession.insert(here);
    ksession.fireAllRules();
}

71. NamedKieSessionFromFileExample#go()

Project: drools
File: NamedKieSessionFromFileExample.java
public void go(PrintStream out) {
    KieServices ks = KieServices.Factory.get();
    KieRepository kr = ks.getRepository();
    KieModule kModule = kr.addKieModule(ks.getResources().newFileSystemResource(getFile("named-kiesession")));
    KieContainer kContainer = ks.newKieContainer(kModule.getReleaseId());
    KieSession kSession = kContainer.newKieSession("ksession1");
    kSession.setGlobal("out", out);
    Object msg1 = createMessage(kContainer, "Dave", "Hello, HAL. Do you read me, HAL?");
    kSession.insert(msg1);
    kSession.fireAllRules();
}

72. MultipleKbasesExampleTest#useKieSession()

Project: drools
File: MultipleKbasesExampleTest.java
private List<Integer> useKieSession(String name) {
    KieServices ks = KieServices.Factory.get();
    KieContainer kContainer = ks.getKieClasspathContainer();
    KieSession kSession = kContainer.newKieSession(name);
    List<Integer> list = new ArrayList<Integer>();
    kSession.setGlobal("list", list);
    kSession.insert(1);
    kSession.fireAllRules();
    return list;
}

73. KieFileSystemExample#go()

Project: drools
File: KieFileSystemExample.java
public void go(PrintStream out) {
    KieServices ks = KieServices.Factory.get();
    KieRepository kr = ks.getRepository();
    KieFileSystem kfs = ks.newKieFileSystem();
    kfs.write("src/main/resources/org/kie/example5/HAL5.drl", getRule());
    KieBuilder kb = ks.newKieBuilder(kfs);
    // kieModule is automatically deployed to KieRepository if successfully built.
    kb.buildAll();
    if (kb.getResults().hasMessages(Level.ERROR)) {
        throw new RuntimeException("Build Errors:\n" + kb.getResults().toString());
    }
    KieContainer kContainer = ks.newKieContainer(kr.getDefaultReleaseId());
    KieSession kSession = kContainer.newKieSession();
    kSession.setGlobal("out", out);
    kSession.insert(new Message("Dave", "Hello, HAL. Do you read me, HAL?"));
    kSession.fireAllRules();
}

74. KieContainerFromKieRepoExample#go()

Project: drools
File: KieContainerFromKieRepoExample.java
public void go(PrintStream out) {
    KieServices ks = KieServices.Factory.get();
    // Install example1 in the local maven repo before to do this
    KieContainer kContainer = ks.newKieContainer(ks.newReleaseId("org.drools", "named-kiesession", Drools.getFullVersion()));
    KieSession kSession = kContainer.newKieSession("ksession1");
    kSession.setGlobal("out", out);
    Object msg1 = createMessage(kContainer, "Dave", "Hello, HAL. Do you read me, HAL?");
    kSession.insert(msg1);
    kSession.fireAllRules();
}

75. DefaultKieSessionFromByteArrayExampleTest#go()

Project: drools
File: DefaultKieSessionFromByteArrayExampleTest.java
public void go(PrintStream out) {
    KieServices ks = KieServices.Factory.get();
    KieRepository kr = ks.getRepository();
    KieModule kModule = kr.addKieModule(ks.getResources().newByteArrayResource(getKjarAsByteArray(getFile("default-kiesession"))));
    KieContainer kContainer = ks.newKieContainer(kModule.getReleaseId());
    KieSession kSession = kContainer.newKieSession();
    kSession.setGlobal("out", out);
    Object msg1 = createMessage(kContainer, "Dave", "Hello, HAL. Do you read me, HAL?");
    kSession.insert(msg1);
    kSession.fireAllRules();
}

76. DefaultKieSessionFromFileExample#go()

Project: drools
File: DefaultKieSessionFromFileExample.java
public void go(PrintStream out) {
    KieServices ks = KieServices.Factory.get();
    KieRepository kr = ks.getRepository();
    KieModule kModule = kr.addKieModule(ks.getResources().newFileSystemResource(getFile("default-kiesession")));
    KieContainer kContainer = ks.newKieContainer(kModule.getReleaseId());
    KieSession kSession = kContainer.newKieSession();
    kSession.setGlobal("out", out);
    Object msg1 = createMessage(kContainer, "Dave", "Hello, HAL. Do you read me, HAL?");
    kSession.insert(msg1);
    kSession.fireAllRules();
}

77. DefaultKieSessionFromFSExampleTest#go()

Project: drools
File: DefaultKieSessionFromFSExampleTest.java
public void go(PrintStream out) {
    String currentFolder = null;
    try {
        currentFolder = new File(".").getCanonicalPath();
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
    File rootFolder = null;
    if (currentFolder.endsWith("drools")) {
        rootFolder = new File("drools-examples-api/default-kiesession");
    } else if (currentFolder.endsWith("drools-examples-api")) {
        rootFolder = new File("default-kiesession");
    } else {
        rootFolder = new File(".");
    }
    KieServices ks = KieServices.Factory.get();
    KieBuilder kieBuilder = ks.newKieBuilder(rootFolder).buildAll();
    KieSession kSession = ks.newKieContainer(kieBuilder.getKieModule().getReleaseId()).newKieSession();
    kSession.setGlobal("out", out);
    kSession.insert(new Message("Dave", "Hello, HAL. Do you read me, HAL?"));
    kSession.fireAllRules();
}

78. RecursiveQueryBenchmark#execTest()

Project: drools
File: RecursiveQueryBenchmark.java
public static long[] execTest(KieBase kbase, int n, boolean isRelational) {
    KieSession ksession = kbase.newKieSession();
    Node root = generateTree(ksession, n, isRelational);
    List list = new ArrayList();
    long start = System.nanoTime();
    ksession.getQueryResults("findNodesWithValue", isRelational ? root.getId() : root, 0, list);
    ksession.fireAllRules();
    long[] result = new long[] { (System.nanoTime() - start) };
    //System.out.println( list.size() );
    ksession.dispose();
    return result;
}

79. TruthMaintenanceTest#testLogicalInsertionsNoLoop()

Project: drools
File: TruthMaintenanceTest.java
//(timeout=10000)
@Test
public void testLogicalInsertionsNoLoop() throws Exception {
    KieBase kbase = loadKnowledgeBase("test_LogicalInsertionsNoLoop.drl");
    KieSession ksession = kbase.newKieSession();
    final List l = new ArrayList();
    final Person a = new Person("a");
    ksession.setGlobal("a", a);
    ksession.setGlobal("l", l);
    ksession.fireAllRules();
    assertEquals("a still in WM", 0, ksession.getObjects(new ClassObjectFilter(a.getClass())).size());
    assertEquals("Rule should not loop", 1, l.size());
}

80. ExecutionFlowControlTest#testUpdateNoLoop()

Project: drools
File: ExecutionFlowControlTest.java
@Test
public void testUpdateNoLoop() throws Exception {
    // JBRULES-780, throws a NullPointer or infinite loop if there is an
    // issue
    KieBase kbase = loadKnowledgeBase("test_UpdateNoloop.drl");
    KieSession ksession = kbase.newKieSession();
    Cheese cheese = new Cheese("stilton", 15);
    ksession.insert(cheese);
    ksession.fireAllRules();
    assertEquals(14, cheese.getPrice());
}

81. CepJavaTypeTest#testEventWithShortExpiration()

Project: drools
File: CepJavaTypeTest.java
@Test
public void testEventWithShortExpiration() throws InterruptedException {
    // BZ-1265773
    String drl = "import " + MyMessage.class.getCanonicalName() + "\n" + "rule \"Rule A Start\"\n" + "when\n" + "  MyMessage ( name == \"ATrigger\" )\n" + "then\n" + "end\n";
    KieSession ksession = new KieHelper().addContent(drl, ResourceType.DRL).build(EventProcessingOption.STREAM).newKieSession();
    ksession.insert(new MyMessage("ATrigger"));
    assertEquals(1, ksession.fireAllRules());
    Thread.sleep(2L);
    ksession.fireAllRules();
    assertEquals(0, ksession.getObjects().size());
}

82. CepEspTest#testEventWithShortExpiration()

Project: drools
File: CepEspTest.java
@Test
public void testEventWithShortExpiration() throws InterruptedException {
    // DROOLS-921
    String drl = "declare String\n" + "  @expires( 1ms )\n" + "  @role( event )\n" + "end\n" + "\n" + "rule R when\n" + "  String( )\n" + "then\n" + "end\n";
    KieSession ksession = new KieHelper().addContent(drl, ResourceType.DRL).build(EventProcessingOption.STREAM).newKieSession();
    ksession.insert("test");
    assertEquals(1, ksession.fireAllRules());
    Thread.sleep(2L);
    ksession.fireAllRules();
    assertEquals(0, ksession.getObjects().size());
}

83. AccumulateTest#testAccumulateWithNull()

Project: drools
File: AccumulateTest.java
@Test(timeout = 10000)
public void testAccumulateWithNull() {
    String drl = "rule foo\n" + "when\n" + "Object() from accumulate( Object(),\n" + "init( Object res = null; )\n" + "action( res = null; )\n" + "result( res ) )\n" + "then\n" + "end";
    KieSession ksession = getKieSessionFromContentStrings(drl);
    ksession.fireAllRules();
    ksession.dispose();
}

84. AccumulateTest#testAccumulateReturningNull()

Project: drools
File: AccumulateTest.java
@Test(timeout = 10000)
public void testAccumulateReturningNull() throws Exception {
    // read in the source
    KieSession wm = getKieSessionFromResources("test_AccumulateReturningNull.drl");
    final List<?> results = new ArrayList<Object>();
    wm.setGlobal("results", results);
    wm.insert(new Cheese("stilton", 10));
}

85. KieContainerInjectionTest#testDynamicKieContainerWithReleaseId()

Project: drools
File: KieContainerInjectionTest.java
@Test
public void testDynamicKieContainerWithReleaseId() throws IOException, ClassNotFoundException, InterruptedException {
    assertNotSame(kContainerv11, KieServices.Factory.get().getKieClasspathContainer());
    KieSession kSession = kContainerv11.newKieSession("jar1.KSession2");
    List<String> list = new ArrayList<String>();
    kSession.setGlobal("list", list);
    kSession.fireAllRules();
    assertEquals(2, list.size());
    assertTrue(list.get(0).endsWith("1.1"));
    assertTrue(list.get(1).endsWith("1.1"));
}

86. KieContainerInjectionTest#testDefaultKieContainer()

Project: drools
File: KieContainerInjectionTest.java
public void testDefaultKieContainer() throws IOException, ClassNotFoundException, InterruptedException {
    assertSame(kContainer, KieServices.Factory.get().getKieClasspathContainer());
    KieSession kSession = kContainer.newKieSession("jar2.KSession2");
    List<String> list = new ArrayList<String>();
    kSession.setGlobal("list", list);
    kSession.fireAllRules();
    assertEquals(2, list.size());
    assertTrue(list.get(0).endsWith("2.0"));
    assertTrue(list.get(1).endsWith("2.0"));
}

87. KieBaseInjectionTest#checkKBase()

Project: drools
File: KieBaseInjectionTest.java
private void checkKBase(KieBase kBase, String check) {
    assertNotNull(kBase);
    KieSession kSession = kBase.newKieSession();
    List<String> list = new ArrayList<String>();
    kSession.setGlobal("list", list);
    kSession.fireAllRules();
    assertEquals(2, list.size());
    assertTrue(list.get(0).endsWith(check));
    assertTrue(list.get(1).endsWith(check));
}

88. KieBaseDefaultInjectionTest#tessDefaultDynamicKBase()

Project: drools
File: KieBaseDefaultInjectionTest.java
@Test
public void tessDefaultDynamicKBase() throws IOException, ClassNotFoundException, InterruptedException {
    assertNotNull(defaultDynamicKBase);
    KieSession kSession = defaultDynamicKBase.newKieSession();
    List<String> list = new ArrayList<String>();
    kSession.setGlobal("list", list);
    kSession.fireAllRules();
    assertEquals(2, list.size());
    assertTrue(list.get(0).endsWith("1.0"));
    assertTrue(list.get(1).endsWith("1.0"));
}

89. KieBaseDefaultInjectionTest#tessDefaultClassPathKBase()

Project: drools
File: KieBaseDefaultInjectionTest.java
@Test
public void tessDefaultClassPathKBase() throws IOException, ClassNotFoundException, InterruptedException {
    assertNotNull(defaultClassPathKBase);
    KieSession kSession = defaultClassPathKBase.newKieSession();
    List<String> list = new ArrayList<String>();
    kSession.setGlobal("list", list);
    kSession.fireAllRules();
    assertEquals(2, list.size());
    assertTrue(list.get(0).endsWith("2.0"));
    assertTrue(list.get(1).endsWith("2.0"));
}

90. KieBuilderTest#createAndTestKieContainer()

Project: drools
File: KieBuilderTest.java
public void createAndTestKieContainer(ReleaseId releaseId, KieBuilder kb, String kBaseName) throws IOException, ClassNotFoundException, InterruptedException {
    KieServices ks = KieServices.Factory.get();
    kb.buildAll();
    if (kb.getResults().hasMessages(Level.ERROR)) {
        fail("Unable to build KieModule\n" + kb.getResults().toString());
    }
    KieRepository kr = ks.getRepository();
    KieModule kJar = kr.getKieModule(releaseId);
    assertNotNull(kJar);
    KieContainer kContainer = ks.newKieContainer(releaseId);
    KieBase kBase = kBaseName != null ? kContainer.getKieBase(kBaseName) : kContainer.getKieBase();
    KieSession kSession = kBase.newKieSession();
    List list = new ArrayList();
    kSession.setGlobal("list", list);
    kSession.fireAllRules();
    assertEquals(1, list.size());
    assertEquals("org.kie.test.Message", list.get(0).getClass().getName());
}

91. StandaloneBPMNProcessTest#testMessageStart()

Project: jbpm
File: StandaloneBPMNProcessTest.java
@Test
public void testMessageStart() throws Exception {
    KieBase kbase = createKnowledgeBase("BPMN2-MessageStart.bpmn2");
    KieSession ksession = createKnowledgeSession(kbase);
    final List<Long> list = new ArrayList<Long>();
    ksession.addEventListener(new DefaultProcessEventListener() {

        public void afterProcessStarted(ProcessStartedEvent event) {
            list.add(event.getProcessInstance().getId());
        }
    });
    ksession.signalEvent("Message-HelloMessage", "NewValue");
    assertEquals(1, list.size());
}

92. StandaloneBPMNProcessTest#testSignalStart()

Project: jbpm
File: StandaloneBPMNProcessTest.java
@Test
public void testSignalStart() throws Exception {
    KieBase kbase = createKnowledgeBase("BPMN2-SignalStart.bpmn2");
    KieSession ksession = createKnowledgeSession(kbase);
    final List<Long> list = new ArrayList<Long>();
    ksession.addEventListener(new DefaultProcessEventListener() {

        public void afterProcessStarted(ProcessStartedEvent event) {
            list.add(event.getProcessInstance().getId());
        }
    });
    ksession.signalEvent("MySignal", "NewValue");
    assertEquals(1, list.size());
}

93. StandaloneBPMNProcessTest#testTimerStart()

Project: jbpm
File: StandaloneBPMNProcessTest.java
@Test(timeout = 10000)
public void testTimerStart() throws Exception {
    CountDownProcessEventListener countDownListener = new CountDownProcessEventListener("StartProcess", 5);
    KieBase kbase = createKnowledgeBase("BPMN2-TimerStart.bpmn2");
    KieSession ksession = createKnowledgeSession(kbase);
    ksession.addEventListener(countDownListener);
    final List<Long> list = new ArrayList<Long>();
    ksession.addEventListener(new DefaultProcessEventListener() {

        public void beforeProcessStarted(ProcessStartedEvent event) {
            list.add(event.getProcessInstance().getId());
        }
    });
    assertEquals(0, list.size());
    countDownListener.waitTillCompleted();
    assertEquals(5, list.size());
}

94. StandaloneBPMNProcessTest#testAdHocSubProcess()

Project: jbpm
File: StandaloneBPMNProcessTest.java
@Test
@Ignore("Process does not complete.")
public void testAdHocSubProcess() throws Exception {
    KieBase kbase = createKnowledgeBase("BPMN2-AdHocSubProcess.bpmn2");
    KieSession ksession = createKnowledgeSession(kbase);
    TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
    ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
    ProcessInstance processInstance = ksession.startProcess("AdHocSubProcess");
    assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
    WorkItem workItem = workItemHandler.getWorkItem();
    assertNull(workItem);
    ksession = restoreSession(ksession);
    ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
    ksession.fireAllRules();
    ksession.signalEvent("Hello2", null, processInstance.getId());
    workItem = workItemHandler.getWorkItem();
    assertNotNull(workItem);
    ksession = restoreSession(ksession);
    ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
    ksession.getWorkItemManager().completeWorkItem(workItem.getId(), null);
    assertProcessInstanceCompleted(processInstance.getId(), ksession);
}

95. StandaloneBPMNProcessTest#testEventBasedSplit4()

Project: jbpm
File: StandaloneBPMNProcessTest.java
@Test
public void testEventBasedSplit4() throws Exception {
    KieBase kbase = createKnowledgeBase("BPMN2-EventBasedSplit4.bpmn2");
    KieSession ksession = createKnowledgeSession(kbase);
    ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
    ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
    // Yes
    ProcessInstance processInstance = ksession.startProcess("com.sample.test");
    assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
    ksession = restoreSession(ksession, true);
    ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
    ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
    ksession.signalEvent("Message-YesMessage", "YesValue", processInstance.getId());
    assertProcessInstanceCompleted(processInstance.getId(), ksession);
    ksession = restoreSession(ksession, true);
    ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
    ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
    // No
    processInstance = ksession.startProcess("com.sample.test");
    ksession.signalEvent("Message-NoMessage", "NoValue", processInstance.getId());
    assertProcessInstanceCompleted(processInstance.getId(), ksession);
}

96. StandaloneBPMNProcessTest#testEventBasedSplitAfter()

Project: jbpm
File: StandaloneBPMNProcessTest.java
@Test
public void testEventBasedSplitAfter() throws Exception {
    // signaling the other alternative after one has been selected should
    // have no effect
    KieBase kbase = createKnowledgeBase("BPMN2-EventBasedSplit.bpmn2");
    KieSession ksession = createKnowledgeSession(kbase);
    ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
    ksession.getWorkItemManager().registerWorkItemHandler("Email2", new DoNothingWorkItemHandler());
    // Yes
    ProcessInstance processInstance = ksession.startProcess("com.sample.test");
    assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
    ksession = restoreSession(ksession, true);
    ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
    ksession.getWorkItemManager().registerWorkItemHandler("Email2", new DoNothingWorkItemHandler());
    ksession.signalEvent("Yes", "YesValue", processInstance.getId());
    assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
    ksession = restoreSession(ksession, true);
    ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
    ksession.getWorkItemManager().registerWorkItemHandler("Email2", new DoNothingWorkItemHandler());
    // No
    ksession.signalEvent("No", "NoValue", processInstance.getId());
}

97. StandaloneBPMNProcessTest#testEventBasedSplitBefore()

Project: jbpm
File: StandaloneBPMNProcessTest.java
@Test
public void testEventBasedSplitBefore() throws Exception {
    // signaling before the split is reached should have no effect
    KieBase kbase = createKnowledgeBase("BPMN2-EventBasedSplit.bpmn2");
    KieSession ksession = createKnowledgeSession(kbase);
    ksession.getWorkItemManager().registerWorkItemHandler("Email1", new DoNothingWorkItemHandler());
    ksession.getWorkItemManager().registerWorkItemHandler("Email2", new DoNothingWorkItemHandler());
    // Yes
    ProcessInstance processInstance = ksession.startProcess("com.sample.test");
    assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
    ksession = restoreSession(ksession, true);
    ksession.getWorkItemManager().registerWorkItemHandler("Email1", new DoNothingWorkItemHandler());
    ksession.getWorkItemManager().registerWorkItemHandler("Email2", new DoNothingWorkItemHandler());
    ksession.signalEvent("Yes", "YesValue", processInstance.getId());
    assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
    // No
    processInstance = ksession.startProcess("com.sample.test");
    assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
    ksession = restoreSession(ksession, true);
    ksession.getWorkItemManager().registerWorkItemHandler("Email1", new DoNothingWorkItemHandler());
    ksession.getWorkItemManager().registerWorkItemHandler("Email2", new DoNothingWorkItemHandler());
    ksession.signalEvent("No", "NoValue", processInstance.getId());
    assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
}

98. StandaloneBPMNProcessTest#testEventBasedSplit()

Project: jbpm
File: StandaloneBPMNProcessTest.java
@Test
public void testEventBasedSplit() throws Exception {
    KieBase kbase = createKnowledgeBase("BPMN2-EventBasedSplit.bpmn2");
    KieSession ksession = createKnowledgeSession(kbase);
    ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
    ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
    // Yes
    ProcessInstance processInstance = ksession.startProcess("com.sample.test");
    assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
    ksession = restoreSession(ksession, true);
    ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
    ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
    ksession.signalEvent("Yes", "YesValue", processInstance.getId());
    assertProcessInstanceCompleted(processInstance.getId(), ksession);
    // No
    processInstance = ksession.startProcess("com.sample.test");
    assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
    ksession = restoreSession(ksession, true);
    ksession.getWorkItemManager().registerWorkItemHandler("Email1", new SystemOutWorkItemHandler());
    ksession.getWorkItemManager().registerWorkItemHandler("Email2", new SystemOutWorkItemHandler());
    ksession.signalEvent("No", "NoValue", processInstance.getId());
    assertProcessInstanceCompleted(processInstance.getId(), ksession);
}

99. StartEventTest#testRecurringTimerStartEvent()

Project: jbpm
File: StartEventTest.java
@Test(timeout = 30000)
public void testRecurringTimerStartEvent() throws Exception {
    KieSession ksession = createKSession(TIMER_CYCLE);
    TrackingProcessEventListener process = new TrackingProcessEventListener();
    ksession.addEventListener(process);
    ksession.fireAllRules();
    assertTrue("The process did not start on time!", process.waitForProcessToStart(1000));
    assertTrue("The process did not complete on time!", process.waitForProcessToComplete(1000));
    Assertions.assertThat(process.wasProcessStarted(TIMER_CYCLE_ID)).isTrue();
    Assertions.assertThat(process.wasProcessCompleted(TIMER_CYCLE_ID)).isTrue();
    process.clear();
    for (int i = 0; i < 10; i++) {
        assertTrue("The process was not triggered on time!", process.waitForProcessToStart(1000));
        assertTrue("The process did not complete on time!", process.waitForProcessToComplete(1000));
        Assertions.assertThat(process.wasProcessStarted(TIMER_CYCLE_ID)).isTrue();
        Assertions.assertThat(process.wasProcessCompleted(TIMER_CYCLE_ID)).isTrue();
        process.clear();
    }
}

100. SignalProcessTest#testDoubleMessageProcess()

Project: jbpm
File: SignalProcessTest.java
@Test
public void testDoubleMessageProcess() {
    createRuntimeManager("org/jbpm/test/functional/event/sample_doublemessagesignal.bpmn2");
    RuntimeEngine runtimeEngine = getRuntimeEngine();
    KieSession ksession = runtimeEngine.getKieSession();
    ProcessInstance processInstance = ksession.startProcess("com.sample.msg");
    assertProcessInstanceActive(processInstance.getId(), ksession);
    ksession.signalEvent("Message-TestMessage", "", processInstance.getId());
    assertProcessInstanceActive(processInstance.getId(), ksession);
    ksession.signalEvent("Message-TestMessage", "", processInstance.getId());
    // check whether the process instance has completed successfully
    assertProcessInstanceNotActive(processInstance.getId(), ksession);
}