use of org.drools.core.test.model.Cheese in project drools by kiegroup.
the class BasicUpdateTest method updateFactOnRuleFireTest.
@Test
public void updateFactOnRuleFireTest() {
final Cheese camembert = new Cheese("Camembert", 19);
final Cheese cheddar = new Cheese("Cheddar", 45);
ksession.insert(camembert);
ksession.insert(cheddar);
verifyFactsWithQuery(Cheese.class, "cheeseTypes", camembert, cheddar);
final List<Cheese> expensiveCheese = new ArrayList<>();
ksession.setGlobal("expensiveCheese", expensiveCheese);
final int firedRules = ksession.fireAllRules();
assertThat(firedRules).isEqualTo(2);
verifyList(expensiveCheese, camembert, cheddar);
verifyFactsWithQuery(Cheese.class, "cheeseTypes", camembert, cheddar);
assertThat(camembert.getPrice()).isEqualTo(21);
assertThat(cheddar.getPrice()).isEqualTo(45);
}
use of org.drools.core.test.model.Cheese in project drools by kiegroup.
the class BasicUpdateTest method updateWithDifferentClassGetQueryResultsTest.
@Test
public void updateWithDifferentClassGetQueryResultsTest() {
final Person person = new Person("George", 18);
final FactHandle fact = ksession.insert(person);
verifyFactsWithQuery(Person.class, "persons", person);
final Cheese cheese = new Cheese("Camembert", 2);
ksession.update(fact, cheese);
verifyWithQueryNoPersonsPresentInFacts();
verifyFactsPresentInSession(1, Cheese.class);
Cheese cheeseToBeVerified = (Cheese) ksession.getObjects().iterator().next();
verifyCheese(cheeseToBeVerified, 2, "Camembert");
cheeseToBeVerified = verifyFactPresentInSession(fact, Cheese.class);
verifyCheese(cheeseToBeVerified, 2, "Camembert");
}
use of org.drools.core.test.model.Cheese in project drools by kiegroup.
the class BasicUpdateTest method updateWithDifferentClassGetObjectsTest.
@Test
public void updateWithDifferentClassGetObjectsTest() {
final Person person = new Person("George", 18);
final FactHandle factPerson = ksession.insert(person);
final Person personToBeVerified = verifyFactsPresentInSession(1, Person.class).get(0);
assertThat(personToBeVerified).isEqualTo(person);
final Cheese cheese = new Cheese("Camembert", 50);
ksession.update(factPerson, cheese);
verifyFactsPresentInSession(1, Cheese.class);
final Cheese cheeseToBeVerified = (Cheese) ksession.getObjects().iterator().next();
verifyCheese(cheeseToBeVerified, 50, "Camembert");
}
use of org.drools.core.test.model.Cheese in project drools by kiegroup.
the class EqualityKeyTest method test1.
@Test
public void test1() {
ReteooFactHandleFactory factory = new ReteooFactHandleFactory();
InternalFactHandle ch1 = factory.newFactHandle(new Cheese("c", 10), null, null, null);
EqualityKey key = new EqualityKey(ch1);
assertSame(ch1, key.getFactHandle());
assertEquals(1, key.size());
InternalFactHandle ch2 = factory.newFactHandle(new Cheese("c", 10), null, null, null);
key.addFactHandle(ch2);
assertEquals(2, key.size());
assertEquals(ch2, key.get(1));
key.removeFactHandle(ch1);
assertSame(ch2, key.getFactHandle());
assertEquals(1, key.size());
key.removeFactHandle(ch2);
assertNull(key.getFactHandle());
assertEquals(0, key.size());
key = new EqualityKey(ch2);
key.addFactHandle(ch1);
assertSame(ch2, key.getFactHandle());
assertEquals(2, key.size());
assertEquals(ch1, key.get(1));
key.removeFactHandle(ch1);
assertSame(ch2, key.getFactHandle());
assertEquals(1, key.size());
key.removeFactHandle(ch2);
assertNull(key.getFactHandle());
assertEquals(0, key.size());
}
use of org.drools.core.test.model.Cheese in project drools by kiegroup.
the class RuleRuntimeEventSupportTest method testRuleRuntimeEventListener.
@Test
public void testRuleRuntimeEventListener() {
final KieBase rb = KnowledgeBaseFactory.newKnowledgeBase();
final KieSession wm = rb.newKieSession();
final List wmList = new ArrayList();
final RuleRuntimeEventListener workingMemoryListener = new RuleRuntimeEventListener() {
public void objectInserted(ObjectInsertedEvent event) {
wmList.add(event);
}
public void objectUpdated(ObjectUpdatedEvent event) {
wmList.add(event);
}
public void objectDeleted(ObjectDeletedEvent event) {
wmList.add(event);
}
};
wm.addEventListener(workingMemoryListener);
assertEquals(1, wm.getRuleRuntimeEventListeners().size());
final Cheese stilton = new Cheese("stilton", 15);
final Cheese cheddar = new Cheese("cheddar", 17);
final FactHandle stiltonHandle = wm.insert(stilton);
ObjectInsertedEvent oae = (ObjectInsertedEvent) wmList.get(0);
assertSame(stiltonHandle, oae.getFactHandle());
wm.update(stiltonHandle, cheddar);
final ObjectUpdatedEvent ome = (ObjectUpdatedEvent) wmList.get(1);
assertSame(stiltonHandle, ome.getFactHandle());
assertEquals(cheddar, ome.getObject());
assertEquals(stilton, ome.getOldObject());
wm.retract(stiltonHandle);
final ObjectDeletedEvent ore = (ObjectDeletedEvent) wmList.get(2);
assertSame(stiltonHandle, ore.getFactHandle());
final FactHandle cheddarHandle = wm.insert(cheddar);
oae = (ObjectInsertedEvent) wmList.get(3);
assertSame(cheddarHandle, oae.getFactHandle());
}
Aggregations