use of org.drools.testcoverage.common.model.FactC in project drools by kiegroup.
the class PatternTest method testPatternOnClass.
@Test
public void testPatternOnClass() {
final String drl = "import " + InitialFactImpl.class.getCanonicalName() + "\n" + "import " + FactB.class.getCanonicalName() + "\n" + "rule \"Clear\" when\n" + " $f: Object(getClass() != FactB.class)\n" + "then\n" + " if( ! ($f instanceof InitialFactImpl) ){\n" + " delete( $f );\n" + " }\n" + "end";
final KieBase kbase = KieBaseUtil.getKieBaseFromKieModuleFromDrl("pattern-test", kieBaseTestConfiguration, drl);
final KieSession ksession = kbase.newKieSession();
try {
ksession.insert(new FactA());
ksession.insert(new FactA());
ksession.insert(new FactB());
ksession.insert(new FactB());
ksession.insert(new FactC());
ksession.insert(new FactC());
ksession.fireAllRules();
for (final FactHandle fact : ksession.getFactHandles()) {
final InternalFactHandle internalFact = (InternalFactHandle) fact;
assertTrue(internalFact.getObject() instanceof FactB);
}
} finally {
ksession.dispose();
}
}
use of org.drools.testcoverage.common.model.FactC in project drools by kiegroup.
the class EvalTest method testAlphaEvalWithOrCE.
@Test
public void testAlphaEvalWithOrCE() {
final String drl = "package org.drools.compiler.integrationtests.operators;\n" + "import " + FactA.class.getCanonicalName() + ";\n" + "import " + FactB.class.getCanonicalName() + ";\n" + "import " + FactC.class.getCanonicalName() + ";\n" + "global java.util.List results;\n" + "\n" + "rule \"test eval with OR\"\n" + "when\n" + " FactA( eval( \"something\".equals( field1 ) ) )\n" + " FactB() or FactC()\n" + "then\n" + " results.add( \"Should not have fired\" );\n" + "end";
final KieBase kbase = KieBaseUtil.getKieBaseFromKieModuleFromDrl("eval-test", kieBaseTestConfiguration, drl);
final KieSession ksession = kbase.newKieSession();
try {
final List list = new ArrayList();
ksession.setGlobal("results", list);
final FactA a = new FactA();
a.setField1("a value");
ksession.insert(a);
ksession.insert(new FactB());
ksession.insert(new FactC());
ksession.fireAllRules();
assertEquals("should not have fired", 0, list.size());
} finally {
ksession.dispose();
}
}
Aggregations