[jboss-svn-commits] JBL Code SVN: r30518 - in labs/jbossrules/trunk/drools-compiler/src/test/java/org: acme/healthcare and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Dec 7 21:10:45 EST 2009


Author: mark.proctor at jboss.com
Date: 2009-12-07 21:10:44 -0500 (Mon, 07 Dec 2009)
New Revision: 30518

Added:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/acme/healthcare/
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/acme/healthcare/Claim.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/acme/sensors/
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/acme/sensors/SensorReading.java
Modified:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MVELTest.java
Log:
JBRULES-2362 MVELDialect incorrect package imports setup
-added passing test

Added: labs/jbossrules/trunk/drools-compiler/src/test/java/org/acme/healthcare/Claim.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/acme/healthcare/Claim.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/acme/healthcare/Claim.java	2009-12-08 02:10:44 UTC (rev 30518)
@@ -0,0 +1,5 @@
+package org.acme.healthcare;
+
+public class Claim {
+
+}

Added: labs/jbossrules/trunk/drools-compiler/src/test/java/org/acme/sensors/SensorReading.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/acme/sensors/SensorReading.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/acme/sensors/SensorReading.java	2009-12-08 02:10:44 UTC (rev 30518)
@@ -0,0 +1,5 @@
+package org.acme.sensors;
+
+public class SensorReading {
+
+}

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MVELTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MVELTest.java	2009-12-07 23:12:11 UTC (rev 30517)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MVELTest.java	2009-12-08 02:10:44 UTC (rev 30518)
@@ -7,6 +7,7 @@
 import java.io.StringReader;
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -249,7 +250,41 @@
         assertEquals("TestObject.applyValueAddPromo: 1|2|3|4|mvel", list.get(4));
         assertEquals("TestObject.applyValueAddPromo: 1|2|3|4|java", list.get(5));
     }
+    
+    public void testPackageImports() throws Exception {
+        String str = "";
+        str += "package org.drools \n";
+        str += "dialect \"mvel\"\n";
+        str += "import org.acme.healthcare.* \n";
+        str += "import org.acme.insurance.* \n";
+        str += "import org.acme.sensors.SensorReading \n";
+        str += "rule rule1 \n";
+        str += "  when \n";
+        str += "    eval(true)\n";
+        str += "  then \n";
+        str += "    insert(new Claim());         // from org.acme.healthcare.* \n";
+        str += "    insert(new Policy());        // from org.acme.insurance.* \n";
+        str += "    insert(new SensorReading()); // from org.acme.sensor.SensorReading \n";
+        str += "end\n";
+        
+        final KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+        kbuilder.add( ResourceFactory.newByteArrayResource( str.getBytes() ), ResourceType.DRL );
+        if (kbuilder.hasErrors()) {
+          throw new RuntimeException(kbuilder.getErrors().toString());
+        }
+        KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+        kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );        
+        
+        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
 
+        int result = ksession.fireAllRules();
+        
+        assertEquals(1, result);
+        Collection<Object> insertedObjects = ksession.getObjects();
+        assertEquals(3, insertedObjects.size());
+    }
+    
+
     private Package compileRule(String drl) throws Exception {
         PackageBuilder builder = new PackageBuilder( new PackageBuilderConfiguration() );
 



More information about the jboss-svn-commits mailing list