Author: mar...@jb... Date: 2006-04-26 08:46:44 -0400 (Wed, 26 Apr 2006) New Revision: 3970 Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EmptyColumn.drl labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/test_EmptyColumn.drl Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java Log: JBRULES-239 NullPointer for Empty Columns -Added parser and build tests for empty coloumns Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java 2006-04-26 06:45:18 UTC (rev 3969) +++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java 2006-04-26 12:46:44 UTC (rev 3970) @@ -88,7 +88,34 @@ assertEquals( new Integer( 5 ), list.get( 0 ) ); } + + public void testEmptyColumn() throws Exception { + //pre build the package + PackageBuilder builder = new PackageBuilder(); + builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_EmptyColumn.drl" ) ) ); + Package pkg = builder.getPackage(); + //add the package to a rulebase + RuleBase ruleBase = getRuleBase(); + ruleBase.addPackage( pkg ); + + WorkingMemory workingMemory = ruleBase.newWorkingMemory(); + + List list = new ArrayList(); + workingMemory.setGlobal( "list", + list ); + + Cheese stilton = new Cheese( "stilton", + 5 ); + workingMemory.assertObject( stilton ); + + workingMemory.fireAllRules(); + + assertEquals( new Integer( 5 ), + list.get( 0 ) ); + } + + public void testHelloWorld() throws Exception { //read in the source Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java 2006-04-26 06:45:18 UTC (rev 3969) +++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java 2006-04-26 12:46:44 UTC (rev 3970) @@ -259,6 +259,20 @@ assertFalse( parser.hasErrors() ); } + + public void testEmptyColumn() throws Exception { + RuleParser ruleParser = parseResource( "test_EmptyColumn.drl" ); + ruleParser.compilation_unit(); + PackageDescr packageDescr = ruleParser.getPackageDescr(); + assertEquals( 1, packageDescr.getRules().size() ); + RuleDescr ruleDescr = (RuleDescr) packageDescr.getRules().get( 0 ); + assertNotNull( ruleDescr.getLhs() ); + assertEquals( 1, ruleDescr.getLhs().getDescrs().size() ); + ColumnDescr columnDescr = ( ColumnDescr ) ruleDescr.getLhs().getDescrs().get( 0 ); + assertEquals( 0, columnDescr.getDescrs().size() ); //this may be null, not sure as the test doesn't get this far... + assertEquals( "Cheese", columnDescr.getObjectType() ); + + } public void testSimpleRule() throws Exception { RuleDescr rule = parseResource( "simple_rule.drl" ).rule(); Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EmptyColumn.drl =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EmptyColumn.drl 2006-04-26 06:45:18 UTC (rev 3969) +++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EmptyColumn.drl 2006-04-26 12:46:44 UTC (rev 3970) @@ -0,0 +1,12 @@ +package org.drools.test; + +import org.drools.Cheese; + +global java.util.List list; + +rule simple rule + when + Cheese( ) + then + list.add( cheese ); +end \ No newline at end of file Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/test_EmptyColumn.drl =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/test_EmptyColumn.drl 2006-04-26 06:45:18 UTC (rev 3969) +++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/test_EmptyColumn.drl 2006-04-26 12:46:44 UTC (rev 3970) @@ -0,0 +1,9 @@ +package org.drools.test; + +import org.drools.Cheese; + +rule simple rule + when + Cheese( ) + then +end \ No newline at end of file |