[jboss-svn-commits] JBL Code SVN: r20546 - in labs/jbossrules/trunk/drools-compiler/src/test: java/org/drools/testframework and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Jun 16 21:49:10 EDT 2008


Author: michael.neale at jboss.com
Date: 2008-06-16 21:49:10 -0400 (Mon, 16 Jun 2008)
New Revision: 20546

Added:
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/testframework/test_rules3.drl
Modified:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java
Log:
JBRULES-1645 Generated Beans

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	2008-06-16 16:44:29 UTC (rev 20545)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2008-06-17 01:49:10 UTC (rev 20546)
@@ -85,6 +85,7 @@
 import org.drools.audit.WorkingMemoryFileLogger;
 import org.drools.audit.WorkingMemoryInMemoryLogger;
 import org.drools.base.ClassObjectFilter;
+import org.drools.common.AbstractRuleBase;
 import org.drools.common.AbstractWorkingMemory;
 import org.drools.common.InternalFactHandle;
 import org.drools.compiler.DescrBuildError;
@@ -122,7 +123,6 @@
 import org.drools.spi.ConsequenceExceptionHandler;
 import org.drools.spi.GlobalResolver;
 import org.drools.xml.XmlDumper;
-import org.mvel.MVEL;
 
 /** Run all the tests with the ReteOO engine implementation */
 public class MiscTest extends TestCase {
@@ -550,8 +550,6 @@
 
 
 
-
-
 //see - it works with mvel !
 //        Map<String, Object> tokens = new HashMap<String, Object>();
 //        tokens.put("c", cheese);

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java	2008-06-16 16:44:29 UTC (rev 20545)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java	2008-06-17 01:49:10 UTC (rev 20546)
@@ -809,6 +809,75 @@
 
     }
 
+    public void testIntegrationWithDeclaredTypes() throws Exception {
+        Scenario sc = new Scenario();
+        FactData[] facts = new FactData[]{new FactData( "Coolness",
+                                                        "c",
+                                                        ls( new FieldData( "num",
+                                                                           "42" ),
+                                                            new FieldData( "name",
+                                                                           "mic" ) ),
+                                                        false )
+
+        };
+        sc.fixtures.addAll( Arrays.asList( facts ) );
+
+        ExecutionTrace executionTrace = new ExecutionTrace();
+
+        sc.rules.add( "rule1" );
+        sc.inclusive = true;
+        sc.fixtures.add( executionTrace );
+
+        Expectation[] assertions = new Expectation[2];
+
+        assertions[0] = new VerifyFact( "c",
+                                        ls( new VerifyField( "num",
+                                                             "42",
+                                                             "==" )
+
+                                        ) );
+
+
+
+        assertions[1] = new VerifyRuleFired( "rule1",
+                                             1,
+                                             null );
+
+        sc.fixtures.addAll( Arrays.asList( assertions ) );
+
+        WorkingMemory wm = getWorkingMemory( "test_rules3.drl" );
+        ClassLoader cl = wm.getRuleBase().getPackages()[0].getPackageScopeClassLoader();
+
+        HashSet<String> imports = new HashSet<String>();
+        imports.add("foo.bar.*");
+
+        TypeResolver resolver = new ClassTypeResolver( imports,
+                                                       cl );
+
+        Class cls = cl.loadClass("foo.bar.Coolness");
+        assertNotNull(cls);
+
+        ClassLoader cl_ = Thread.currentThread().getContextClassLoader();
+        Thread.currentThread().setContextClassLoader(cl);
+
+        //resolver will need to have generated beans in it - possibly using a composite classloader from the package,
+        //including whatever CL has the generated beans...
+        ScenarioRunner run = new ScenarioRunner( sc,
+                                                 resolver,
+                                                 (InternalWorkingMemory) wm );
+
+        assertEquals( 1,
+                      executionTrace.numberOfRulesFired.intValue() );
+
+        assertSame( run.scenario,
+                    sc );
+
+        assertTrue( sc.wasSuccessful() );
+
+        Thread.currentThread().setContextClassLoader(cl_);
+
+    }
+
     public void testIntgerationStateful() throws Exception {
         Scenario sc = new Scenario();
         sc.fixtures.add( new FactData( "Cheese",

Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/testframework/test_rules3.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/testframework/test_rules3.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/testframework/test_rules3.drl	2008-06-17 01:49:10 UTC (rev 20546)
@@ -0,0 +1,18 @@
+package foo.bar
+
+
+declare Coolness
+  num: int
+  name: String
+end
+
+rule "rule1"
+	when
+		c: Coolness(num == 42)
+	then
+		System.out.println("it worked");
+end
+
+
+
+


Property changes on: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/testframework/test_rules3.drl
___________________________________________________________________
Name: svn:eol-style
   + native




More information about the jboss-svn-commits mailing list