use of org.drools.mvel.compiler.Bar in project drools by kiegroup.
the class MatchTest method testGetObjectsOnePattern.
@Test
public void testGetObjectsOnePattern() {
// DROOLS-1470
String str = "import org.drools.mvel.compiler.Foo\n" + "import org.drools.mvel.compiler.Bar\n" + "global java.util.List list\n" + "rule R when\n" + " Foo(id == \"Lotus Elise\")\n" + "then\n" + " list.addAll(kcontext.getMatch().getObjects());\n" + "end\n";
KieBase kbase = KieBaseUtil.getKieBaseFromKieModuleFromDrl("test", kieBaseTestConfiguration, str);
KieSession ksession = kbase.newKieSession();
List<Object> list = new ArrayList<>();
ksession.setGlobal("list", list);
Bar roadsterType = new Bar("roadster");
ksession.insert(roadsterType);
Foo bmwZ4 = new Foo("BMW Z4", roadsterType);
ksession.insert(bmwZ4);
Foo lotusElise = new Foo("Lotus Elise", roadsterType);
ksession.insert(lotusElise);
Foo mazdaMx5 = new Foo("Mazda MX-5", roadsterType);
ksession.insert(mazdaMx5);
Bar miniVanType = new Bar("minivan");
ksession.insert(miniVanType);
Foo kieCarnival = new Foo("Kia Carnival", miniVanType);
ksession.insert(kieCarnival);
Foo renaultEspace = new Foo("Renault Espace", miniVanType);
ksession.insert(renaultEspace);
ksession.fireAllRules();
assertEquals(1, list.size());
assertTrue(list.contains(lotusElise));
ksession.dispose();
}
Aggregations