use of org.drools.testcoverage.common.model.Cheese in project drools by kiegroup.
the class ImportsTest method testPackageImportWithMvelDialect.
@Test
public void testPackageImportWithMvelDialect() {
// JBRULES-2244
final String drl = "package org.drools.compiler.integrationtests.drl;\n" + "import " + Cheese.class.getCanonicalName() + "\n" + "import " + Person.class.getCanonicalName() + "\n" + "dialect \"mvel\"\n" + "rule R1 no-loop when\n" + " $p : Person( )" + " $c : Cheese( )" + "then\n" + " modify($p) { setCheese($c) };\n" + "end\n";
final KieBase kbase = KieBaseUtil.getKieBaseFromKieModuleFromDrl("imports-test", kieBaseTestConfiguration, drl);
final KieSession ksession = kbase.newKieSession();
try {
final Person p = new Person("Mario", 38);
ksession.insert(p);
final Cheese c = new Cheese("Gorgonzola");
ksession.insert(c);
assertEquals(1, ksession.fireAllRules());
assertSame(c, p.getCheese());
} finally {
ksession.dispose();
}
}
use of org.drools.testcoverage.common.model.Cheese in project drools by kiegroup.
the class ImportsTest method testImport.
@Test()
public void testImport() {
// Same package as this test
final String drl = "package org.drools.compiler.integrationtests.drl;\n" + "import " + Cheese.class.getCanonicalName() + ";\n" + "import java.lang.Math;\n" + "rule \"Test Rule\"\n" + " dialect \"mvel\"\n" + " when\n" + " then\n" + " new Cheese(Cheese.STILTON);\n" + "end";
final KieBase kbase = KieBaseUtil.getKieBaseFromKieModuleFromDrl("imports-test", kieBaseTestConfiguration, drl);
final KieSession session = kbase.newKieSession();
try {
session.fireAllRules();
} finally {
session.dispose();
}
}
use of org.drools.testcoverage.common.model.Cheese in project drools by kiegroup.
the class PatternTest method testPredicateAsFirstPattern.
@Test
public void testPredicateAsFirstPattern() {
final String drl = "package oreg.drools.compiler.integrationtests.drl;\n" + "import " + Cheese.class.getCanonicalName() + ";\n" + "\n" + "rule \"Using Predicate as first pattern\"\n" + " when\n" + " cheese: Cheese( type == \"Mussarela\", $price:price, eval( $price < 30 ))\n" + " then\n" + " cheese.setPrice(40);\n" + "end";
final KieBase kbase = KieBaseUtil.getKieBaseFromKieModuleFromDrl("pattern-test", kieBaseTestConfiguration, drl);
final KieSession ksession = kbase.newKieSession();
try {
final Cheese mussarela = new Cheese("Mussarela", 35);
ksession.insert(mussarela);
final Cheese provolone = new Cheese("Provolone", 20);
ksession.insert(provolone);
ksession.fireAllRules();
assertEquals("The rule is being incorrectly fired", 35, mussarela.getPrice());
assertEquals("Rule is incorrectly being fired", 20, provolone.getPrice());
} finally {
ksession.dispose();
}
}
use of org.drools.testcoverage.common.model.Cheese in project drools by kiegroup.
the class PatternTest method testAutovivificationOfVariableRestrictions.
@Test
public void testAutovivificationOfVariableRestrictions() {
final String drl = "package org.drools.compiler.integrationtests.drl;\n" + "import " + Cheese.class.getCanonicalName() + ";\n" + "global java.util.List results;\n" + "\n" + "rule \"autovivification\"\n" + "when\n" + " Cheese( price > oldPrice, price > this.oldPrice )\n" + "then\n" + " results.add( \"OK\" );\n" + "end";
final KieBase kbase = KieBaseUtil.getKieBaseFromKieModuleFromDrl("pattern-test", kieBaseTestConfiguration, drl);
final KieSession ksession = kbase.newKieSession();
try {
final List results = new ArrayList();
ksession.setGlobal("results", results);
final Cheese stilton = new Cheese("stilton");
stilton.setPrice(10);
stilton.setOldPrice(8);
ksession.insert(stilton);
ksession.fireAllRules();
assertEquals(1, results.size());
} finally {
ksession.dispose();
}
}
use of org.drools.testcoverage.common.model.Cheese in project drools by kiegroup.
the class PatternTest method testBigDecimal.
@Test
public void testBigDecimal() {
final String drl = "package org.drools.compiler.integrationtests.drl;\n" + "\n" + "import " + Cheese.class.getCanonicalName() + ";\n" + "import " + Primitives.class.getCanonicalName() + ";\n" + "import java.math.BigDecimal;\n" + "\n" + "global java.util.List list;\n" + "\n" + "rule \"BigDec\"\n" + "\n" + " when\n" + " Cheese($price : price)\n" + " p : Primitives(bigDecimal < $price)\n" + " then\n" + " list.add( p );\n" + "end";
final KieBase kbase = KieBaseUtil.getKieBaseFromKieModuleFromDrl("pattern-test", kieBaseTestConfiguration, drl);
final KieSession session = kbase.newKieSession();
try {
final List list = new ArrayList();
session.setGlobal("list", list);
final Primitives bill = new Primitives();
bill.setBigDecimal(new BigDecimal("42"));
final Primitives ben = new Primitives();
ben.setBigDecimal(new BigDecimal("43"));
session.insert(bill);
session.insert(new Cheese("gorgonzola", 43));
session.insert(ben);
session.fireAllRules();
assertEquals(1, ((List) session.getGlobal("list")).size());
} finally {
session.dispose();
}
}
Aggregations