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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Feb 27 00:31:06 EST 2009


Author: michael.neale at jboss.com
Date: 2009-02-27 00:31:05 -0500 (Fri, 27 Feb 2009)
New Revision: 25458

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/ScenarioRunner.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java
Log:
interfaces in scenario

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/ScenarioRunner.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/ScenarioRunner.java	2009-02-27 04:39:03 UTC (rev 25457)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/ScenarioRunner.java	2009-02-27 05:31:05 UTC (rev 25458)
@@ -99,7 +99,7 @@
 
 		for (Iterator iterator = scenario.globals.iterator(); iterator.hasNext();) {
 			FactData fact = (FactData) iterator.next();
-			Object f = eval("new " + resolver.getFullTypeName(fact.type) + "()");
+			Object f = eval("new " + getTypeName(resolver, fact) + "()");
 			populateFields(fact, globalData, f);
 			globalData.put(fact.name, f);
 			wm.setGlobal(fact.name, f);
@@ -111,7 +111,7 @@
 			if (fx instanceof FactData) {
 				//deal with facts and globals
 				FactData fact = (FactData)fx;
-				Object f = (fact.isModify)? this.populatedData.get(fact.name) : eval("new " + resolver.getFullTypeName(fact.type) + "()");
+				Object f = (fact.isModify)? this.populatedData.get(fact.name) : eval("new " + getTypeName(resolver, fact) + "()");
 				if (fact.isModify) {
 					if (!this.factHandles.containsKey(fact.name)) {
 						throw new IllegalArgumentException("Was not a previously inserted fact. [" + fact.name  + "]");
@@ -164,7 +164,17 @@
 		}
 	}
 
-	private void applyTimeMachine(final InternalWorkingMemory wm,
+    private String getTypeName(TypeResolver resolver, FactData fact) throws ClassNotFoundException {
+
+        String fullName = resolver.getFullTypeName(fact.type);
+        if (fullName.equals("java.util.List") || fullName.equals("java.util.Collection")) {
+                return "java.util.ArrayList";
+        } else {
+                return fullName;
+        }
+    }
+
+    private void applyTimeMachine(final InternalWorkingMemory wm,
 			ExecutionTrace executionTrace) {
 		if (executionTrace.scenarioSimulatedDate != null) {
 			final Calendar now = Calendar.getInstance();

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	2009-02-27 04:39:03 UTC (rev 25457)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java	2009-02-27 05:31:05 UTC (rev 25458)
@@ -44,6 +44,30 @@
 		DroolsMVELFactory d = new DroolsMVELFactory();
 	}
 
+    public void testPopulateFactsWithInterfaces() throws Exception {
+        Scenario sc = new Scenario();
+        List facts = ls( new FactData( "List",
+                                       "ls",
+                                       new ArrayList(),
+                                       false ) );
+
+       List globals = ls( new FactData( "List",
+                                       "ls",
+                                       new ArrayList(),
+                                       false ) );
+        sc.fixtures.addAll( facts );
+        sc.globals.addAll( globals );
+        TypeResolver resolver = new ClassTypeResolver( new HashSet<String>(),
+                                                       Thread.currentThread().getContextClassLoader() );
+        resolver.addImport( "java.util.List" );
+
+        ScenarioRunner runner = new ScenarioRunner( sc,
+                                                    resolver,
+                                                    new MockWorkingMemory() );
+
+
+    }
+
     public void testPopulateFacts() throws Exception {
         Scenario sc = new Scenario();
         List facts = ls( new FactData( "Cheese",




More information about the jboss-svn-commits mailing list