[jboss-svn-commits] JBL Code SVN: r19502 - 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
Wed Apr 9 00:42:48 EDT 2008
Author: michael.neale at jboss.com
Date: 2008-04-09 00:42:48 -0400 (Wed, 09 Apr 2008)
New Revision: 19502
Added:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/OuterFact.java
Modified:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java
Log:
adding checks for nested object construction, date coercion
Added: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/OuterFact.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/OuterFact.java (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/OuterFact.java 2008-04-09 04:42:48 UTC (rev 19502)
@@ -0,0 +1,20 @@
+package org.drools;
+
+public class OuterFact {
+
+ private String name;
+ private Cheese innerFact;
+ public String getName() {
+ return name;
+ }
+ public void setName(String name) {
+ this.name = name;
+ }
+ public Cheese getInnerFact() {
+ return innerFact;
+ }
+ public void setInnerFact(Cheese innerFact) {
+ this.innerFact = innerFact;
+ }
+
+}
Property changes on: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/OuterFact.java
___________________________________________________________________
Name: svn:eol-style
+ native
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-04-09 04:28:57 UTC (rev 19501)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java 2008-04-09 04:42:48 UTC (rev 19502)
@@ -9,10 +9,12 @@
import java.util.Map;
import org.drools.Cheese;
+import org.drools.OuterFact;
import org.drools.Person;
import org.drools.WorkingMemory;
import org.drools.base.ClassTypeResolver;
import org.drools.base.TypeResolver;
+import org.drools.base.mvel.DroolsMVELFactory;
import org.drools.brms.client.modeldriven.testing.ExecutionTrace;
import org.drools.brms.client.modeldriven.testing.Expectation;
import org.drools.brms.client.modeldriven.testing.FactData;
@@ -27,6 +29,11 @@
public class ScenarioRunnerTest extends RuleUnit {
+ public void setUp() {
+ //needed when running stand alone to make sure the converters get loaded.
+ DroolsMVELFactory d = new DroolsMVELFactory();
+ }
+
public void testPopulateFacts() throws Exception {
Scenario sc = new Scenario();
List facts = ls( new FactData( "Cheese",
@@ -70,6 +77,91 @@
}
+ public void testPopulateNested() throws Exception {
+ Scenario sc = new Scenario();
+ List facts = ls( new FactData( "Cheese",
+ "c1",
+ ls( new FieldData( "type",
+ "cheddar" ),
+ new FieldData( "price",
+ "42" ) ),
+ false ),
+ new FactData( "OuterFact",
+ "p1",
+ ls( new FieldData( "name",
+ "mic" ),
+ new FieldData( "innerFact",
+ "=c1" ) ),
+ false ) );
+
+ sc.fixtures.addAll( facts );
+ TypeResolver resolver = new ClassTypeResolver( new HashSet<String>(),
+ Thread.currentThread().getContextClassLoader() );
+ resolver.addImport( "org.drools.Cheese" );
+ resolver.addImport( "org.drools.OuterFact" );
+ ScenarioRunner runner = new ScenarioRunner( sc,
+ resolver,
+ new MockWorkingMemory() );
+
+ assertTrue( runner.populatedData.containsKey( "c1" ) );
+ assertTrue( runner.populatedData.containsKey( "p1" ) );
+
+ OuterFact o = (OuterFact) runner.populatedData.get("p1");
+ assertNotNull(o.getInnerFact());
+
+ }
+
+ public void testPopulateEmpty() throws Exception {
+ Scenario sc = new Scenario();
+ List facts = ls( new FactData( "Cheese",
+ "c1", new ArrayList(), false));
+ sc.fixtures.addAll( facts );
+ TypeResolver resolver = new ClassTypeResolver( new HashSet<String>(),
+ Thread.currentThread().getContextClassLoader() );
+ sc.fixtures.addAll( facts );
+ resolver.addImport( "org.drools.Cheese" );
+ ScenarioRunner runner = new ScenarioRunner( sc,
+ resolver,
+ new MockWorkingMemory() );
+
+ assertTrue( runner.populatedData.containsKey( "c1" ) );
+ assertTrue(runner.populatedData.get("c1") instanceof Cheese);
+ }
+
+ public void testDateField() throws Exception {
+ Scenario sc = new Scenario();
+ List facts = ls( new FactData( "Cheese",
+ "c1",
+ ls( new FieldData( "type",
+ "cheddar" ),
+ new FieldData( "usedBy",
+ "10-Jul-2008" ) ),
+ false ),
+ new FactData( "OuterFact",
+ "p1",
+ ls( new FieldData( "name",
+ "mic" ),
+ new FieldData( "innerFact",
+ "=c1" ) ),
+ false ) );
+
+ sc.fixtures.addAll( facts );
+ TypeResolver resolver = new ClassTypeResolver( new HashSet<String>(),
+ Thread.currentThread().getContextClassLoader() );
+ resolver.addImport( "org.drools.Cheese" );
+ resolver.addImport( "org.drools.OuterFact" );
+ ScenarioRunner runner = new ScenarioRunner( sc,
+ resolver,
+ new MockWorkingMemory() );
+
+ assertTrue( runner.populatedData.containsKey( "c1" ) );
+ assertTrue( runner.populatedData.containsKey( "p1" ) );
+
+ Cheese c = (Cheese) runner.populatedData.get("c1");
+ assertNotNull(c.getUsedBy());
+
+ }
+
public void testPopulateFactsWithExpressions() throws Exception {
Scenario sc = new Scenario();
List facts = ls( new FactData( "Cheese",
More information about the jboss-svn-commits
mailing list