use of org.drools.testcoverage.common.model.Alarm 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();
}
}
use of org.drools.testcoverage.common.model.Alarm in project drools by kiegroup.
the class TimerAndCalendarWithPseudoTimeTest method testDurationMemoryLeakonRepeatedUpdate.
@Test(timeout = 10000)
public void testDurationMemoryLeakonRepeatedUpdate() {
final String drl = "package org.drools.compiler.test\n" + "import " + Alarm.class.getCanonicalName() + "\n" + "global java.util.List list;" + "rule \"COMPTEUR\"\n" + " timer (int: 50s)\n" + " when\n" + " $alarm : Alarm( number < 5 )\n" + " then\n" + " $alarm.incrementNumber();\n" + " list.add( $alarm );\n" + " update($alarm);\n" + "end\n";
final KieBase kbase = KieBaseUtil.getKieBaseFromKieModuleFromDrl("timer-and-calendar-test", kieBaseTestConfiguration, drl);
final KieSession ksession = kbase.newKieSession(KieSessionTestConfiguration.STATEFUL_PSEUDO.getKieSessionConfiguration(), null);
try {
final PseudoClockScheduler timeService = ksession.getSessionClock();
timeService.advanceTime(new Date().getTime(), TimeUnit.MILLISECONDS);
final List list = new ArrayList();
ksession.setGlobal("list", list);
ksession.insert(new Alarm());
ksession.fireAllRules();
for (int i = 0; i < 6; i++) {
timeService.advanceTime(55, TimeUnit.SECONDS);
ksession.fireAllRules();
}
assertEquals(5, list.size());
} finally {
ksession.dispose();
}
}
Aggregations