rule.getLhs().getDescrs().size() );
PatternDescr out = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
assertEquals( "Object[]",
out.getObjectType() );
AccumulateDescr accum = (AccumulateDescr) out.getSource();
assertTrue( accum.isExternalFunction() );
List<AccumulateFunctionCallDescr> functions = accum.getFunctions();
assertEquals( 3,
functions.size() );
assertEquals( "average",
functions.get( 0 ).getFunction() );
assertEquals( "$a1",
functions.get( 0 ).getBind() );
assertEquals( "$price",
functions.get( 0 ).getParams()[0] );
assertEquals( "min",
functions.get( 1 ).getFunction() );
assertEquals( "$m1",
functions.get( 1 ).getBind() );
assertEquals( "$price",
functions.get( 1 ).getParams()[0] );
assertEquals( "max",
functions.get( 2 ).getFunction() );
assertEquals( "$M1",
functions.get( 2 ).getBind() );
assertEquals( "$price",
functions.get( 2 ).getParams()[0] );
final PatternDescr pattern = (PatternDescr) accum.getInputPattern();
assertEquals( "Cheese",
pattern.getObjectType() );
}