use of org.drools.compiler.Pet in project drools by kiegroup.
the class FromTest method testFromExprFollowedByNot.
@Test
public void testFromExprFollowedByNot() {
String rule = "";
rule += "package org.drools.compiler;\n";
rule += "global java.util.List list;\n";
rule += "rule \"Rule 1\"\n";
rule += " when\n";
rule += " p : Person ($var: pet )\n";
rule += " Pet () from $var\n";
rule += " not Pet ()\n";
rule += " then\n";
rule += " list.add( p );\n";
rule += "end\n";
final KieBase kbase = loadKnowledgeBaseFromString(rule);
final KieSession ksession = createKnowledgeSession(kbase);
final List list = new ArrayList();
ksession.setGlobal("list", list);
final Person p = new Person();
p.setPet(new Pet());
ksession.insert(p);
ksession.fireAllRules();
assertEquals(1, list.size());
assertSame(p, list.get(0));
}
use of org.drools.compiler.Pet in project drools by kiegroup.
the class MemberOfTest method testMemberOfWithOr.
@Test
public void testMemberOfWithOr() throws Exception {
String rule = "";
rule += "package org.drools.compiler;\n";
rule += "import java.util.ArrayList;\n";
rule += "import org.drools.compiler.Person;\n";
rule += "rule \"Test Rule\"\n";
rule += "when\n";
rule += " $list: ArrayList() \n";
rule += " ArrayList() \n";
rule += " from collect( \n";
rule += " Person( \n";
rule += " ( \n";
rule += " pet memberOf $list \n";
rule += " ) || ( \n";
rule += " pet == null \n";
rule += " ) \n";
rule += " ) \n";
rule += " )\n";
rule += "then\n";
rule += " System.out.println(\"hello person\");\n";
rule += "end";
final KieBase kbase = SerializationHelper.serializeObject(loadKnowledgeBaseFromString(rule));
final KieSession session = createKnowledgeSession(kbase);
final Person toni = new Person("Toni", 12);
toni.setPet(new Pet("Mittens"));
session.insert(new ArrayList());
session.insert(toni);
session.fireAllRules();
}
use of org.drools.compiler.Pet in project drools by kiegroup.
the class InsertTest method testInsert.
@Test
public void testInsert() throws Exception {
String drl = "";
drl += "package test\n";
drl += "import org.drools.compiler.Person\n";
drl += "import org.drools.compiler.Pet\n";
drl += "import java.util.ArrayList\n";
drl += "global java.util.List list\n";
drl += "rule test\n";
drl += "when\n";
drl += "$person:Person()\n";
drl += "$pets : ArrayList()\n";
drl += " from collect( \n";
drl += " Pet(\n";
drl += " ownerName == $person.name\n";
drl += " )\n";
drl += " )\n";
drl += "then\n";
drl += " list.add( $person );\n";
drl += "end\n";
final KieBase kbase = loadKnowledgeBaseFromString(drl);
final KieSession ksession = createKnowledgeSession(kbase);
final List list = new ArrayList();
ksession.setGlobal("list", list);
final Person p = new Person("Toni");
ksession.insert(p);
ksession.insert(new Pet("Toni"));
ksession.fireAllRules();
assertEquals(1, list.size());
assertSame(p, list.get(0));
}
Aggregations