[jboss-svn-commits] JBL Code SVN: r32385 - labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Apr 4 01:41:04 EDT 2010


Author: mark.proctor at jboss.com
Date: 2010-04-04 01:41:04 -0400 (Sun, 04 Apr 2010)
New Revision: 32385

Modified:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
Log:
JBRULES-2312
-Added failing test MiscTest.testSharedLIANodeRemoval

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2010-04-04 05:29:19 UTC (rev 32384)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2010-04-04 05:41:04 UTC (rev 32385)
@@ -147,6 +147,7 @@
 import org.drools.reteoo.EntryPointNode;
 import org.drools.reteoo.LeftTuple;
 import org.drools.reteoo.ObjectTypeNode;
+import org.drools.reteoo.ReteooRuleBase;
 import org.drools.reteoo.ReteooWorkingMemory;
 import org.drools.rule.InvalidRulePackage;
 import org.drools.rule.Package;
@@ -7338,4 +7339,40 @@
         ksession.insert( new Pet("Toni") );
     }
 
+    
+    public void testSharedLIANodeRemoval() throws IOException, DroolsParserException {
+        String str = "global java.util.List list;\n";
+        str += "rule \"test\"\n";
+        str += "when\n";
+        str += "  exists(eval(true))\n";
+        str += "then\n";
+        str += " list.add(\"fired\");\n";
+        str += "end\n";
+        
+        PackageBuilder pkgBuilder = new PackageBuilder();
+        pkgBuilder.addPackageFromDrl(new StringReader(str));
+        Assert.assertTrue("Should not have errors", pkgBuilder.getErrors().isEmpty());
+
+        // Add once ...
+        ReteooRuleBase rb = new ReteooRuleBase("dummy");
+        rb.addPackage(pkgBuilder.getPackage());
+
+        // This one works
+        List list = new ArrayList();
+        StatefulSession session = rb.newStatefulSession();
+        session.setGlobal( "list", list );
+        session.fireAllRules();       
+        assertEquals(1, list.size() );
+
+        
+        list.clear();
+        // ... remove ...
+        rb.removePackage(pkgBuilder.getPackage().getName());
+        rb.addPackage(pkgBuilder.getPackage());          
+        session = rb.newStatefulSession();
+        session.setGlobal( "list", list );
+        session.fireAllRules();   
+        assertEquals(1, list.size() );
+        
+    }
 }



More information about the jboss-svn-commits mailing list