public void testWorkbookParse() throws Exception {
final InputStream stream = RuleWorksheetParseTest.class.getResourceAsStream( "/data/BasicWorkbook.xls" );
final RuleSheetListener listener = getRuleSheetListener( stream );
final Package ruleset = listener.getRuleSet();
assertNotNull( ruleset );
final 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 );
Condition cond = (Condition) rule.getConditions().get( 0 );
assertEquals( "Foo(myObject.getColour().equals(red), myObject.size () > 1)",
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)",