[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