Search in sources :

Example 1 with FactC

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();
    }
}
Also used : InternalFactHandle(org.drools.core.common.InternalFactHandle) FactHandle(org.kie.api.runtime.rule.FactHandle) KieBase(org.kie.api.KieBase) KieSession(org.kie.api.runtime.KieSession) InternalFactHandle(org.drools.core.common.InternalFactHandle) FactA(org.drools.testcoverage.common.model.FactA) FactB(org.drools.testcoverage.common.model.FactB) FactC(org.drools.testcoverage.common.model.FactC) Test(org.junit.Test)

Example 2 with FactC

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();
    }
}
Also used : KieBase(org.kie.api.KieBase) ArrayList(java.util.ArrayList) KieSession(org.kie.api.runtime.KieSession) ArrayList(java.util.ArrayList) List(java.util.List) FactA(org.drools.testcoverage.common.model.FactA) FactB(org.drools.testcoverage.common.model.FactB) FactC(org.drools.testcoverage.common.model.FactC) Test(org.junit.Test)

Aggregations

FactA (org.drools.testcoverage.common.model.FactA)2 FactB (org.drools.testcoverage.common.model.FactB)2 FactC (org.drools.testcoverage.common.model.FactC)2 Test (org.junit.Test)2 KieBase (org.kie.api.KieBase)2 KieSession (org.kie.api.runtime.KieSession)2 ArrayList (java.util.ArrayList)1 List (java.util.List)1 InternalFactHandle (org.drools.core.common.InternalFactHandle)1 FactHandle (org.kie.api.runtime.rule.FactHandle)1