[jboss-svn-commits] JBL Code SVN: r19059 - in labs/jbossrules/branches/4.0.x/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
Tue Mar 18 15:15:31 EDT 2008


Author: mark.proctor at jboss.com
Date: 2008-03-18 15:15:31 -0400 (Tue, 18 Mar 2008)
New Revision: 19059

Modified:
   labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/Person.java
   labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
Log:
JBRULES-1484 Mvel, constructor and package access
-Added unit test
-fixed by upgrading to new MVEL version

Modified: labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/Person.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/Person.java	2008-03-18 19:06:57 UTC (rev 19058)
+++ labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/Person.java	2008-03-18 19:15:31 UTC (rev 19059)
@@ -63,13 +63,22 @@
               0 );
     }
 
+    
     public Person(final String name,
+                  final Cheese cheese) {
+        this( name,
+              null,
+              0 );
+        this.cheese = cheese;
+    }
+    
+    public Person(final String name,
                   final String likes,
                   final int age) {
         this.name = name;
         this.likes = likes;
         this.age = age;
-    }
+    }    
 
     /* (non-Javadoc)
      * @see org.drools.PersonInterface#getStatus()

Modified: labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2008-03-18 19:06:57 UTC (rev 19058)
+++ labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2008-03-18 19:15:31 UTC (rev 19059)
@@ -688,7 +688,41 @@
         assertEquals( 1, list.size() );
         assertEquals( "first", list.get( 0 ) );
     }
+    
+    /* @see JBRULES-1484 */ 
+    public void testMVELDynamicImports() throws Exception {
+        String rule = "package org.xxx;\n";        
+        
+        rule += "import org.drools.*\n";
+        
+        rule += "global java.util.List list\n";
+        rule += "rule \"Test Rule\"\n";
+        rule += "    dialect \"mvel\"";
+        rule += "when\n";
+        rule += "then\n";
+        rule += "    p = new Person( \"diablo\", new Cheese (\"cheddar\") );";
+        rule += "    c = new Cheese( \"y\" );";
+        rule += "    list.add( p );\n";
+        rule += "end";
+        
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new StringReader( rule ));
+        final Package pkg = builder.getPackage();
 
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage(pkg);
+        final StatefulSession session = ruleBase.newStatefulSession();
+        List list = new ArrayList();
+        session.setGlobal( "list", list );
+        session.fireAllRules();
+        
+        assertEquals( 1, list.size() );
+        
+        Person p  = new Person( "diablo", new Cheese( "cheddar" ) );
+        
+        assertEquals( p, list.get( 0 ) );                        
+    }       
+
 	public void testBigDecimalIntegerLiteral() throws Exception {
 
 		final PackageBuilder builder = new PackageBuilder();
@@ -1683,9 +1717,9 @@
 		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
 		// Adding person with null name and likes attributes
-		final PersonInterface bob = new Person(null, null);
+		final PersonInterface bob = new Person((String)null, (String)null);
 		bob.setStatus("P1");
-		final PersonInterface pete = new Person(null, null);
+		final PersonInterface pete = new Person((String)null, (String)null);
 		bob.setStatus("P2");
 		workingMemory.insert(bob);
 		workingMemory.insert(pete);




More information about the jboss-svn-commits mailing list