" )\n\n" +
" then\n" +
"end\n";
KnowledgeBase kbase = loadKnowledgeBaseFromString(str);
StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
ArrayList list = new ArrayList();
ksession.setGlobal( "list", list );
Lecture lA = new Lecture("A", 0, 4, true);
Lecture lB = new Lecture("B", 2, 2, true);
Lecture lC = new Lecture("C", 2, 1, true);
FactHandle fhA = ksession.insert(lA);
FactHandle fhB = ksession.insert(lB);
FactHandle fhC = ksession.insert(lC);
ksession.fireAllRules();
assertEquals(2, list.size());
assertTrue(list.containsAll(asList("A", "B")));
list.clear();
ksession.update(fhB, lB.setAvailable(false));
ksession.fireAllRules();
ksession.update(fhB, lB.setDay(0).setIndex(3));
ksession.fireAllRules();
assertEquals(2, list.size());
assertTrue(list.containsAll(asList("B", "C")));
list.clear();
}