[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