public void testWorkbookParse() throws Exception
{
InputStream stream = RuleWorksheetParseTest.class.getResourceAsStream( "/data/BasicWorkbook.xls" );
RuleSheetListener listener = getRuleSheetListener( stream );
Ruleset ruleset = listener.getRuleSet( );
assertNotNull( ruleset );
Rule firstRule = (Rule) ruleset.getRules( ).get( 0 );
assertNotNull(firstRule.getSalience( ));
assertTrue(firstRule.getSalience( ).intValue() > 0);
// System.out.println(ruleset.toXML());
assertEquals( "myruleset",
ruleset.getName( ) );
assertEquals( 2,
ruleset.getImports( ).size( ) );
assertEquals( 6,
ruleset.getRules( ).size( ) );
// check imports
Import imp = (Import) ruleset.getImports( ).get( 0 );
assertEquals( "blah.class1",
imp.getClassName( ) );
imp = (Import) ruleset.getImports( ).get( 1 );
assertEquals( "blah.class2",
imp.getClassName( ) );
// check rules
Rule rule = (Rule) ruleset.getRules( ).get( 0 );
Parameter param = (Parameter) rule.getParameters( ).get( 1 );
assertEquals( "au.com.nothing.ParamClass2",
param.getClassName( ) );
Condition cond = (Condition) rule.getConditions( ).get( 0 );
assertEquals( "myObject.getColour().equals(red)",
cond.getSnippet( ) );
Consequence cons = (Consequence) rule.getConsequences( ).get( 0 );
assertNotNull( cons );
assertEquals( "myObject.setIsValid(Y)",
cons.getSnippet( ) );
rule = (Rule) ruleset.getRules( ).get( 5 );
cond = (Condition) rule.getConditions( ).get( 1 );
assertEquals( "myObject.size () > 7",
cond.getSnippet( ) );
cons = (Consequence) rule.getConsequences( ).get( 0 );
assertEquals( "myObject.setIsValid(10-Jul-1974)",