[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