use of org.drools.testcoverage.common.model.MyComparable in project drools by kiegroup.
the class AlphaNodeRangeIndexingTest method testCustomComparable.
@Test
public void testCustomComparable() {
final String drl = "package org.drools.compiler.test\n" + "import " + MyComparableHolder.class.getCanonicalName() + "\n" + "import " + MyComparable.class.getCanonicalName() + "\n" + "rule test1\n when\n" + " MyComparableHolder( myComparable >= MyComparable.ABC )\n" + "then\n end\n" + "rule test2\n when\n" + " MyComparableHolder( myComparable < MyComparable.DEF )\n" + "then\n end\n" + "rule test3\n when\n" + " MyComparableHolder( myComparable > MyComparable.GHI )\n" + "then\n end\n" + "rule test4\n when\n" + " MyComparableHolder( myComparable < MyComparable.JKL )\n" + "then\n end\n" + "rule test5\n when\n" + " MyComparableHolder( myComparable > MyComparable.MNO )\n" + "then\n end\n" + "rule test6\n when\n" + " MyComparableHolder( myComparable <= MyComparable.PQR )\n" + "then\n end\n";
final KieBase kbase = createKieBaseWithRangeIndexThresholdValue(drl, 3);
final KieSession ksession = kbase.newKieSession();
// Doesn't support Object type for range index. See CompositeObjectSinkAdapter.isRangeIndexable()
assertSinks(kbase, MyComparableHolder.class, 6, 6, 0, 0);
MyComparable abc = new MyComparable("ABC", 1);
ksession.insert(new MyComparableHolder(abc));
int fired = ksession.fireAllRules();
assertEquals(4, fired);
MyComparable jkl = new MyComparable("JKL", 10);
ksession.insert(new MyComparableHolder(jkl));
fired = ksession.fireAllRules();
assertEquals(3, fired);
}
Aggregations