From: <jbo...@li...> - 2006-05-04 01:57:43
|
Author: mar...@jb... Date: 2006-05-03 21:57:37 -0400 (Wed, 03 May 2006) New Revision: 4078 Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EmptyRule.drl labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_NoColumns.drl Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java Log: JBRULES-253 Allow rules with no columns 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-05-04 01:57:33 UTC (rev 4077) +++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java 2006-05-04 01:57:37 UTC (rev 4078) @@ -1737,6 +1737,42 @@ assertEquals("Rules have not fired (looped) expected number of times", 10, l.size()); } + public void testEmptyRule() throws Exception { + PackageBuilder builder = new PackageBuilder(); + builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_EmptyRule.drl" ) ) ); + Package pkg = builder.getPackage(); + + RuleBase ruleBase = getRuleBase(); + ruleBase.addPackage( pkg ); + WorkingMemory workingMemory = ruleBase.newWorkingMemory(); + + List list = new ArrayList(); + workingMemory.setGlobal( "list", list ); + + workingMemory.fireAllRules(); + + assertTrue( list.contains("fired1") ); + assertTrue( list.contains("fired2") ); + } + + public void testjustEval() throws Exception { + PackageBuilder builder = new PackageBuilder(); + builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NoColumns.drl" ) ) ); + Package pkg = builder.getPackage(); + + RuleBase ruleBase = getRuleBase(); + ruleBase.addPackage( pkg ); + WorkingMemory workingMemory = ruleBase.newWorkingMemory(); + + List list = new ArrayList(); + workingMemory.setGlobal( "list", list ); + + workingMemory.fireAllRules(); + + assertTrue( list.contains("fired1") ); + assertTrue( list.contains("fired3") ); + } + private Object serializeIn(byte[] bytes) throws IOException, ClassNotFoundException { ObjectInput in = new ObjectInputStream( new ByteArrayInputStream( bytes ) ); Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EmptyRule.drl =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EmptyRule.drl 2006-05-04 01:57:33 UTC (rev 4077) +++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EmptyRule.drl 2006-05-04 01:57:37 UTC (rev 4078) @@ -0,0 +1,16 @@ +package org.drools.test + +global java.util.List list + +rule "empty lhs1" + when + then + list.add("fired1"); +end + +rule "empty lhs2" + when + then + list.add("fired2"); +end + Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_NoColumns.drl =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_NoColumns.drl 2006-05-04 01:57:33 UTC (rev 4077) +++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_NoColumns.drl 2006-05-04 01:57:37 UTC (rev 4078) @@ -0,0 +1,35 @@ +package org.drools.test + +global java.util.List list + +rule "no columns1" + when + eval(true); + then + list.add("fired1"); +end + +rule "no columns2" + when + eval(false); + then + list.add("fired2"); +end + +rule "no columns3" + when + eval(true); + eval(1==1); + then + list.add("fired3"); +end + + +rule "no columns4" + when + eval(false); + eval(true); + eval(1==1); + then + list.add("fired4"); +end \ No newline at end of file |