use of org.kie.api.runtime.rule.FactHandle 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.kie.api.runtime.rule.FactHandle in project drools by kiegroup.
the class DeleteTest method testModifyRetractWithFunction.
@Test
public void testModifyRetractWithFunction() throws Exception {
final KieBase kbase = SerializationHelper.serializeObject(loadKnowledgeBase("test_RetractModifyWithFunction.drl"));
final KieSession ksession = createKnowledgeSession(kbase);
final org.drools.compiler.Cheese stilton = new org.drools.compiler.Cheese("stilton", 7);
final org.drools.compiler.Cheese muzzarella = new org.drools.compiler.Cheese("muzzarella", 9);
final int sum = stilton.getPrice() + muzzarella.getPrice();
final FactHandle stiltonHandle = ksession.insert(stilton);
final FactHandle muzzarellaHandle = ksession.insert(muzzarella);
ksession.fireAllRules();
assertEquals(sum, stilton.getPrice());
assertEquals(1, ksession.getFactCount());
assertNotNull(ksession.getObject(stiltonHandle));
assertNotNull(ksession.getFactHandle(stilton));
assertNull(ksession.getObject(muzzarellaHandle));
assertNull(ksession.getFactHandle(muzzarella));
}
use of org.kie.api.runtime.rule.FactHandle in project drools by kiegroup.
the class DeleteTest method deleteFactTest.
@Test
public void deleteFactTest() {
ksession.insert(new Person("Petr", 25));
FactHandle george = ksession.insert(new Person("George", 19));
QueryResults results = ksession.getQueryResults("informationAboutPersons");
Assertions.assertThat(results).isNotEmpty();
Assertions.assertThat(results.iterator().next().get("$countOfPerson")).isEqualTo(2L);
ksession.delete(george);
results = ksession.getQueryResults("informationAboutPersons");
Assertions.assertThat(results).isNotEmpty();
Assertions.assertThat(results.iterator().next().get("$countOfPerson")).isEqualTo(1L);
}
use of org.kie.api.runtime.rule.FactHandle in project drools by kiegroup.
the class DeleteTest method deleteFactTwiceTest.
@Test
public void deleteFactTwiceTest() {
FactHandle george = ksession.insert(new Person("George", 19));
QueryResults results = ksession.getQueryResults("countPerson");
Assertions.assertThat(results).isNotEmpty();
Assertions.assertThat(results.iterator().next().get("$personCount")).isEqualTo(1L);
ksession.delete(george);
results = ksession.getQueryResults("countPerson");
Assertions.assertThat(results).isNotEmpty();
Assertions.assertThat(results.iterator().next().get("$personCount")).isEqualTo(0L);
ksession.delete(george);
Assertions.assertThat(results).isNotEmpty();
Assertions.assertThat(results.iterator().next().get("$personCount")).isEqualTo(0L);
}
use of org.kie.api.runtime.rule.FactHandle 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);
}
}
Aggregations