use of org.drools.testcoverage.common.model.Sensor in project drools by kiegroup.
the class PatternTest method testDeclaringAndUsingBindsInSamePattern.
@Test
public void testDeclaringAndUsingBindsInSamePattern() {
final String drl = "package org.drools.compiler.integrationtests.drl;\n" + "import " + Sensor.class.getCanonicalName() + ";\n" + "\n" + "global java.util.List sensors;\n" + "\n" + "rule \"BindsTest1_returnValue\"\n" + " when\n" + " $sensor1 : Sensor( $temp1 : temperature, pressure < $temp1 )\n" + " $sensor2 : Sensor( $temp2 : temperature, pressure < ( $temp1 + $temp2 ) )\n" + " then\n" + " sensors.add( $sensor1 );\n" + "end\n" + "\n" + "rule \"BindsTest2_predicate\"\n" + " when\n" + " $sensor1 : Sensor( $temp1 : temperature, pressure < $temp1 )\n" + " $sensor2 : Sensor( $temp2 : temperature, $p : pressure, eval ( $p < ($temp1 + $temp2 ) ) )\n" + " then\n" + " sensors.add( $sensor1 );\n" + "end\n" + "\n" + "rule \"BindsTest3_eval\"\n" + " when\n" + " $sensor1 : Sensor( $temp1 : temperature, pressure < $temp1 )\n" + " $sensor2 : Sensor( $temp2 : temperature, $p : pressure )\n" + " eval( $p < $temp1 + $temp2 )\n" + " then\n" + " sensors.add( $sensor1 );\n" + "end";
final KieModule kieModule = KieUtil.getKieModuleFromDrls("pattern-test", kieBaseTestConfiguration, drl);
final KieContainer kieContainer = KieServices.get().newKieContainer(kieModule.getReleaseId());
final KieBaseConfiguration kieBaseConfiguration = kieBaseTestConfiguration.getKieBaseConfiguration();
kieBaseConfiguration.setOption(RemoveIdentitiesOption.YES);
final KieBase kbase = kieContainer.newKieBase(kieBaseConfiguration);
final KieSession ksession = kbase.newKieSession();
try {
final List sensors = new ArrayList();
ksession.setGlobal("sensors", sensors);
final Sensor sensor1 = new Sensor(100, 150);
ksession.insert(sensor1);
ksession.fireAllRules();
assertEquals(0, sensors.size());
final Sensor sensor2 = new Sensor(200, 150);
ksession.insert(sensor2);
ksession.fireAllRules();
assertEquals(3, sensors.size());
} finally {
ksession.dispose();
}
}
use of org.drools.testcoverage.common.model.Sensor in project drools by kiegroup.
the class ActivateAndDeleteOnListenerTest method testActivateOnMatch.
private void testActivateOnMatch(final AgendaEventListener listener) {
final String drl = "package org.drools.compiler.integrationtests \n" + "import " + Alarm.class.getCanonicalName() + " \n" + "import " + Sensor.class.getCanonicalName() + " \n" + "rule StringRule @Propagation(EAGER) ruleflow-group \"DROOLS_SYSTEM\"\n" + " when \n" + " $a : Alarm() \n" + " $s : Sensor() \n" + " then \n" + "end \n";
final KieSession ksession = getSessionWithEagerActivation(drl);
try {
ksession.addEventListener(listener);
// go !
final Alarm alarm = new Alarm();
alarm.setMessage("test");
alarm.setNumber(123);
ksession.insert(alarm);
final Sensor sensor = new Sensor();
sensor.setPressure(1);
sensor.setTemperature(25);
ksession.insert(sensor);
} finally {
ksession.dispose();
}
}
Aggregations