use of org.drools.testcoverage.common.model.State in project drools by kiegroup.
the class NestingTest method testNestedConditionalElements.
@Test
public void testNestedConditionalElements() {
final String drl = "package org.drools.compiler.integrationtests.drl;\n" + "import " + Person.class.getCanonicalName() + ";\n" + "import " + Cheese.class.getCanonicalName() + ";\n" + "import " + State.class.getCanonicalName() + ";\n" + "global java.util.List results\n" + "\n" + "rule \"test nested CEs\" salience 100\n" + " when\n" + " not ( State( $state : state ) and\n" + " not( Person( name == $state, $likes : likes ) and\n" + " Cheese( type == $likes ) ) )\n" + " then\n" + " results.add(\"OK1\");\n" + "end";
final KieBase kbase = KieBaseUtil.getKieBaseFromKieModuleFromDrl("nesting-test", kieBaseTestConfiguration, drl);
final KieSession ksession = kbase.newKieSession();
try {
final List list = new ArrayList();
ksession.setGlobal("results", list);
final State state = new State("SP");
ksession.insert(state);
final Person bob = new Person(state.getState());
bob.setLikes("stilton");
ksession.insert(bob);
ksession.fireAllRules();
assertEquals(0, list.size());
ksession.insert(new Cheese(bob.getLikes(), 10));
ksession.fireAllRules();
assertEquals(1, list.size());
} finally {
ksession.dispose();
}
}
Aggregations