use of org.drools.modelcompiler.domain.StockTick in project drools by kiegroup.
the class CepTest method testAfterOnFactAndField.
@Test
public void testAfterOnFactAndField() throws Exception {
String str = "import " + StockTick.class.getCanonicalName() + ";" + "rule R when\n" + " $a : StockTick( company == \"DROO\" )\n" + " $b : StockTick( company == \"ACME\", timeFieldAsLong after[5,8] $a )\n" + "then\n" + " System.out.println(\"fired\");\n" + "end\n";
KieSession ksession = getKieSession(getCepKieModuleModel(), str);
SessionPseudoClock clock = ksession.getSessionClock();
ksession.insert(new StockTick("DROO").setTimeField(0));
clock.advanceTime(6, TimeUnit.MILLISECONDS);
ksession.insert(new StockTick("ACME").setTimeField(6));
assertEquals(1, ksession.fireAllRules());
clock.advanceTime(4, TimeUnit.MILLISECONDS);
ksession.insert(new StockTick("ACME").setTimeField(10));
assertEquals(0, ksession.fireAllRules());
}
use of org.drools.modelcompiler.domain.StockTick in project drools by kiegroup.
the class CepTest method testAfterOnLongFieldsBindingFirstWithDifferentMethod.
@Test
public void testAfterOnLongFieldsBindingFirstWithDifferentMethod() throws Exception {
String str = "import " + StockTick.class.getCanonicalName() + ";\n" + "import " + StockTickEx.class.getCanonicalName() + ";\n" + "declare StockTick @timestamp(timeFieldAsLong) end\n" + "declare StockTickEx @timestamp(timeFieldExAsLong) end\n" + "rule R when\n" + " $a : StockTickEx( company == \"DROO\" )\n" + " StockTick( company == \"ACME\", $a.timeFieldExAsLong after[5,8] timeFieldAsLong )\n" + "then\n" + " System.out.println(\"fired\");\n" + "end\n";
KieSession ksession = getKieSession(getCepKieModuleModel(), str);
SessionPseudoClock clock = ksession.getSessionClock();
ksession.insert(new StockTick("ACME").setTimeField(0));
ksession.insert(new StockTickEx("DROO").setTimeFieldEx(6));
assertEquals(1, ksession.fireAllRules());
ksession.insert(new StockTickEx("DROO").setTimeFieldEx(10));
assertEquals(0, ksession.fireAllRules());
}
use of org.drools.modelcompiler.domain.StockTick in project drools by kiegroup.
the class CepTest method testAfterOnDateFieldsWithBinding.
@Test
public void testAfterOnDateFieldsWithBinding() throws Exception {
String str = "import " + StockTick.class.getCanonicalName() + ";" + "rule R when\n" + " $a : StockTick( company == \"DROO\", $aTime : timeFieldAsDate )\n" + " $b : StockTick( company == \"ACME\", timeFieldAsDate after[5,8] $aTime )\n" + "then\n" + " System.out.println(\"fired\");\n" + "end\n";
KieSession ksession = getKieSession(getCepKieModuleModel(), str);
SessionPseudoClock clock = ksession.getSessionClock();
clock.advanceTime(100, TimeUnit.MILLISECONDS);
ksession.insert(new StockTick("DROO").setTimeField(0));
ksession.insert(new StockTick("ACME").setTimeField(6));
assertEquals(1, ksession.fireAllRules());
ksession.insert(new StockTick("ACME").setTimeField(10));
assertEquals(0, ksession.fireAllRules());
}
use of org.drools.modelcompiler.domain.StockTick in project drools by kiegroup.
the class CepTest method testAfterOnLongFields.
@Test
public void testAfterOnLongFields() throws Exception {
String str = "import " + StockTick.class.getCanonicalName() + ";" + "rule R when\n" + " $a : StockTick( company == \"DROO\" )\n" + " $b : StockTick( company == \"ACME\", timeFieldAsLong after[5,8] $a.timeFieldAsLong )\n" + "then\n" + " System.out.println(\"fired\");\n" + "end\n";
KieSession ksession = getKieSession(getCepKieModuleModel(), str);
SessionPseudoClock clock = ksession.getSessionClock();
ksession.insert(new StockTick("DROO").setTimeField(0));
ksession.insert(new StockTick("ACME").setTimeField(6));
assertEquals(1, ksession.fireAllRules());
ksession.insert(new StockTick("ACME").setTimeField(10));
assertEquals(0, ksession.fireAllRules());
}
use of org.drools.modelcompiler.domain.StockTick in project drools by kiegroup.
the class CepTest method testAfterOnDateFields.
@Test
public void testAfterOnDateFields() throws Exception {
String str = "import " + StockTick.class.getCanonicalName() + ";" + "rule R when\n" + " $a : StockTick( company == \"DROO\" )\n" + " $b : StockTick( company == \"ACME\", timeFieldAsDate after[5,8] $a.timeFieldAsDate )\n" + "then\n" + " System.out.println(\"fired\");\n" + "end\n";
KieSession ksession = getKieSession(getCepKieModuleModel(), str);
SessionPseudoClock clock = ksession.getSessionClock();
ksession.insert(new StockTick("DROO").setTimeField(0));
ksession.insert(new StockTick("ACME").setTimeField(6));
assertEquals(1, ksession.fireAllRules());
ksession.insert(new StockTick("ACME").setTimeField(10));
assertEquals(0, ksession.fireAllRules());
}
Aggregations