@Test public void testAccumulateExternalFunction() throws Exception { final PackageDescr pkg = (PackageDescr) parseResource( "compilationUnit", "accumulateExternalFunction.drl" ); assertEquals( 1, pkg.getRules().size() ); final RuleDescr rule = (RuleDescr) pkg.getRules().get( 0 ); assertEquals( 1, rule.getLhs().getDescrs().size() ); final PatternDescr out = (PatternDescr) rule.getLhs().getDescrs().get( 0 ); final AccumulateDescr accum = (AccumulateDescr) out.getSource(); assertEqualsIgnoreWhitespace( "$age", accum.getFunctions().get( 0 ).getParams()[0] ); assertEqualsIgnoreWhitespace( "average", accum.getFunctions().get( 0 ).getFunction() ); assertTrue( accum.isExternalFunction() ); final PatternDescr pattern = (PatternDescr) accum.getInputPattern(); assertEquals( "Person", pattern.getObjectType() ); }
out.getObjectType() ); AccumulateDescr accum = (AccumulateDescr) out.getSource(); assertTrue( accum.isExternalFunction() );
out.getObjectType() ); AccumulateDescr accum = (AccumulateDescr) out.getSource(); assertTrue( accum.isExternalFunction() );
out.getObjectType() ); AccumulateDescr accum = (AccumulateDescr) out.getSource(); assertTrue( accum.isExternalFunction() );
out.getConstraint().getDescrs().get( 1 ).toString() ); AccumulateDescr accum = (AccumulateDescr) out.getSource(); assertTrue( accum.isExternalFunction() );
@Test public void testAccumulate() throws Exception { final PackageDescr pkg = (PackageDescr) parseResource( "compilationUnit", "accumulate.drl" ); assertEquals( 1, pkg.getRules().size() ); final RuleDescr rule = (RuleDescr) pkg.getRules().get( 0 ); assertEquals( 1, rule.getLhs().getDescrs().size() ); final PatternDescr outPattern = (PatternDescr) rule.getLhs().getDescrs().get( 0 ); final AccumulateDescr accum = (AccumulateDescr) outPattern.getSource(); assertEqualsIgnoreWhitespace( "int x = 0 ;", accum.getInitCode() ); assertEqualsIgnoreWhitespace( "x++;", accum.getActionCode() ); assertNull( accum.getReverseCode() ); assertEqualsIgnoreWhitespace( "new Integer(x)", accum.getResultCode() ); assertFalse( accum.isExternalFunction() ); final PatternDescr pattern = (PatternDescr) accum.getInputPattern(); assertEquals( "Person", pattern.getObjectType() ); }
out.getObjectType() ); AccumulateDescr accum = (AccumulateDescr) out.getSource(); assertTrue( accum.isExternalFunction() );
@Test public void testAccumulateReverse() throws Exception { final PackageDescr pkg = (PackageDescr) parseResource( "compilationUnit", "accumulateReverse.drl" ); assertEquals( 1, pkg.getRules().size() ); final RuleDescr rule = (RuleDescr) pkg.getRules().get( 0 ); assertEquals( 1, rule.getLhs().getDescrs().size() ); final PatternDescr out = (PatternDescr) rule.getLhs().getDescrs().get( 0 ); final AccumulateDescr accum = (AccumulateDescr) out.getSource(); assertEqualsIgnoreWhitespace( "int x = 0 ;", accum.getInitCode() ); assertEqualsIgnoreWhitespace( "x++;", accum.getActionCode() ); assertEqualsIgnoreWhitespace( "x--;", accum.getReverseCode() ); assertEqualsIgnoreWhitespace( "new Integer(x)", accum.getResultCode() ); assertFalse( accum.isExternalFunction() ); final PatternDescr pattern = (PatternDescr) accum.getInputPattern(); assertEquals( "Person", pattern.getObjectType() ); }
assertTrue( accumulatedescr.isExternalFunction() );