[jboss-svn-commits] JBL Code SVN: r31179 - in labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools: integrationtests and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jan 21 03:03:42 EST 2010
Author: Rikkola
Date: 2010-01-21 03:03:42 -0500 (Thu, 21 Jan 2010)
New Revision: 31179
Added:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Pet.java
Modified:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
Log:
A test for a feature that used to work in revision 30833. But recently got broken. Throws an NPE when Pet fact is inserted.
Added: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Pet.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Pet.java (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Pet.java 2010-01-21 08:03:42 UTC (rev 31179)
@@ -0,0 +1,13 @@
+package org.drools;
+
+public class Pet {
+ String ownerName;
+
+ public Pet(String ownerName) {
+ this.ownerName = ownerName;
+ }
+
+ public String getOwnerName() {
+ return ownerName;
+ }
+}
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-01-21 06:06:43 UTC (rev 31178)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java 2010-01-21 08:03:42 UTC (rev 31179)
@@ -71,6 +71,7 @@
import org.drools.PersonFinal;
import org.drools.PersonInterface;
import org.drools.PersonWithEquals;
+import org.drools.Pet;
import org.drools.PolymorphicFact;
import org.drools.Primitives;
import org.drools.QueryResult;
@@ -7306,5 +7307,44 @@
context.assertIsSatisfied();
}
+
+ public void testInsert() throws Exception {
+ String drl = "";
+ drl += "package test\n";
+ drl += "import org.drools.Person\n";
+ drl += "import org.drools.Pet\n";
+ drl += "import java.util.ArrayList\n";
+ drl += "rule test\n";
+ drl += "when\n";
+ drl += "$person:Person()\n";
+ drl += "$pets : ArrayList()\n";
+ drl += " from collect( \n";
+ drl += " Pet(\n";
+ drl += " ownerName == $person.name\n";
+ drl += " )\n";
+ drl += " )\n";
+ drl += "then\n";
+ drl += "end\n";
+ KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+ kbuilder.add( ResourceFactory.newReaderResource( new StringReader( drl ) ),
+ ResourceType.DRL );
+ KnowledgeBuilderErrors errors = kbuilder.getErrors();
+ if ( errors.size() > 0 ) {
+ for ( KnowledgeBuilderError error : errors ) {
+ System.err.println( error );
+ }
+ throw new IllegalArgumentException( "Could not parse knowledge." );
+ }
+ assertFalse( kbuilder.hasErrors() );
+
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+ StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+
+ ksession.insert( new Person("Toni") );
+ // XXX: Fails here, this worked in revision 30833
+ ksession.insert( new Pet("Toni") );
+ }
+
}
More information about the jboss-svn-commits
mailing list