use of org.drools.compiler.lang.descr.BehaviorDescr in project drools by kiegroup.
the class RuleParserTest method testWindowDeclaration.
@Test
public void testWindowDeclaration() throws Exception {
final String text = "package org.drools\n" + "declare window Ticks\n" + " @doc(\"last 10 stock ticks\")\n" + " $s : StockTick( source == \"NYSE\" )\n" + " over window:length( 10, $s.symbol )\n" + " from entry-point stStream\n" + "end";
PackageDescr pkg = (PackageDescr) parse("compilationUnit", text);
assertEquals("org.drools", pkg.getName());
assertEquals(1, pkg.getWindowDeclarations().size());
WindowDeclarationDescr wdd = pkg.getWindowDeclarations().iterator().next();
assertEquals("Ticks", wdd.getName());
assertEquals(1, wdd.getAnnotations().size());
assertEquals("\"last 10 stock ticks\"", wdd.getAnnotation("doc").getValue());
PatternDescr pd = wdd.getPattern();
assertNotNull(pd);
assertEquals("$s", pd.getIdentifier());
assertEquals("StockTick", pd.getObjectType());
assertEquals("stStream", pd.getSource().getText());
assertEquals(1, pd.getBehaviors().size());
BehaviorDescr bd = pd.getBehaviors().get(0);
assertEquals("window", bd.getType());
assertEquals("length", bd.getSubType());
assertEquals(2, bd.getParameters().size());
assertEquals("10", bd.getParameters().get(0));
assertEquals("$s.symbol", bd.getParameters().get(1));
}
Aggregations