use of org.drools.core.test.model.Person in project drools by kiegroup.
the class DeleteTest method testEmptyAfterRetractInIndexedMemory.
@Test
public void testEmptyAfterRetractInIndexedMemory() {
String str = "";
str += "package org.simple \n";
str += "import org.drools.compiler.Person\n";
str += "global java.util.List list \n";
str += "rule xxx dialect 'mvel' \n";
str += "when \n";
str += " Person( $name : name ) \n";
str += " $s : String( this == $name) \n";
str += "then \n";
str += " list.add($s); \n";
str += "end \n";
final KieBase kbase = loadKnowledgeBaseFromString(str);
final KieSession ksession = createKnowledgeSession(kbase);
final List list = new ArrayList();
ksession.setGlobal("list", list);
final org.drools.compiler.Person p = new org.drools.compiler.Person("ackbar");
ksession.insert(p);
ksession.insert("ackbar");
ksession.fireAllRules();
ksession.dispose();
assertEquals(1, list.size());
assertEquals("ackbar", list.get(0));
}
use of org.drools.core.test.model.Person 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.drools.core.test.model.Person 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.drools.core.test.model.Person in project drools by kiegroup.
the class MVELClassFieldExtractorTest method setUp.
@Before
public void setUp() throws Exception {
store.setClassFieldAccessorCache(new ClassFieldAccessorCache(Thread.currentThread().getContextClassLoader()));
store.setEagerWire(true);
extractor = (MVELObjectClassFieldReader) store.getMVELReader(Person.class.getPackage().getName(), Person.class.getName(), "addresses['home'].street", true, String.class);
MVELDialectRuntimeData data = new MVELDialectRuntimeData();
data.addImport(Person.class.getSimpleName(), Person.class);
data.onAdd(null, ProjectClassLoader.createProjectClassLoader());
extractor.compile(data);
person[0] = new Person("bob", 30);
business[0] = new Address("Business Street", "999", null);
home[0] = new Address("Home Street", "555", "55555555");
person[0].getAddresses().put("business", business[0]);
person[0].getAddresses().put("home", home[0]);
person[1] = new Person("mark", 35);
business[1] = new Address("Another Business Street", "999", null);
home[1] = new Address("Another Home Street", "555", "55555555");
person[1].getAddresses().put("business", business[1]);
person[1].getAddresses().put("home", home[1]);
}
use of org.drools.core.test.model.Person in project drools by kiegroup.
the class ReteooWorkingMemoryTest method testObjectIterator.
@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");
}
}
}
Aggregations