[jboss-svn-commits] JBL Code SVN: r30164 - 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 Nov 15 20:12:21 EST 2009
Author: mark.proctor at jboss.com
Date: 2009-11-15 20:12:20 -0500 (Sun, 15 Nov 2009)
New Revision: 30164
Modified:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
Log:
JBRULES-2341 Build Error Across EntryPoints And Froms
-added failing test
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 2009-11-16 00:41:33 UTC (rev 30163)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java 2009-11-16 01:12:20 UTC (rev 30164)
@@ -6931,7 +6931,51 @@
t1.stop();
assertEquals( 1, list.size() );
}
+
+ public void testNetworkBuildErrorAcrossEntryPointsAndFroms() throws Exception {
+ String rule1 = "package org.drools\n";
+ rule1 += "global java.util.List list\n";
+ rule1 += "rule rule1\n";
+ rule1 += "when\n";
+ rule1 += " Cheese() from entry-point \"testep\"\n";
+ rule1 += " $p : Person() from list\n";
+ rule1 += "then \n";
+ rule1 += " list.add( \"rule1\" ) ;\n";
+ rule1 += " insert( $p );\n";
+ rule1 += "end\n";
+ rule1 += "rule rule2\n";
+ rule1 += "when\n";
+ rule1 += " $p : Person() \n";
+ rule1 += "then \n";
+ rule1 += " list.add( \"rule2\" ) ;\n";
+ rule1 += "end\n";
+ KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+ kbuilder.add( ResourceFactory.newByteArrayResource( rule1.getBytes() ), ResourceType.DRL );
+
+ if ( kbuilder.hasErrors() ) {
+ System.out.println( kbuilder.getErrors() );
+ throw new RuntimeException( kbuilder.getErrors().toString() );
+ }
+
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+ final StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+ final WorkingMemoryEntryPoint ep = ksession.getWorkingMemoryEntryPoint( "testep" );
+
+ List list = new ArrayList();
+ ksession.setGlobal( "list", list );
+
+ list.add( new Person( "darth") );
+ ep.insert( new Cheese("cheddar") );
+
+
+ ksession.fireAllRules();
+ assertEquals( 3, list.size() );
+ }
+
public void testDroolsQueryCleanup() {
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
kbuilder.add( ResourceFactory.newClassPathResource( "test_QueryMemoryLeak.drl",
More information about the jboss-svn-commits
mailing list