[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