[jboss-svn-commits] JBL Code SVN: r16356 - in labs/jbossrules/trunk/drools-compiler/src: main/java/org/drools/testframework and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Nov 5 20:27:26 EST 2007
Author: michael.neale at jboss.com
Date: 2007-11-05 20:27:26 -0500 (Mon, 05 Nov 2007)
New Revision: 16356
Modified:
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/FieldData.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/ScenarioRunner.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/FactDataTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java
Log:
JBRULES-1271 removed expression flag (it now just uses an "=")
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/FieldData.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/FieldData.java 2007-11-06 01:24:37 UTC (rev 16355)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/FieldData.java 2007-11-06 01:27:26 UTC (rev 16356)
@@ -4,19 +4,21 @@
public class FieldData implements Serializable {
+ /** the name of the field */
public String name;
+
+ /** The value of the field to be set to.
+ * This will either be a literal value (which will be coerced by MVEL).
+ * Or if it starts with an "=" then it is an EL that will be evaluated to yield a value.
+ */
public String value;
public FieldData() {}
- public FieldData(String name, String value, boolean isExpression) {
+ public FieldData(String name, String value) {
this.name = name;
this.value = value;
- this.isExpression = isExpression;
}
- /**
- * If it is an expression, the value itself will be evaled, and then used to set the field.
- */
- public boolean isExpression = false;
+
}
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 2007-11-06 01:24:37 UTC (rev 16355)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/ScenarioRunner.java 2007-11-06 01:27:26 UTC (rev 16356)
@@ -192,9 +192,9 @@
FieldData field = fact.fieldData[i];
Object val;
if (field.value != null && !field.value.equals("")) {
- if (field.isExpression) {
+ if (field.value.startsWith("=")) {
// eval the val into existence
- val = eval(field.value, factData);
+ val = eval(field.value.substring(1), factData);
} else {
val = field.value;
}
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/FactDataTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/FactDataTest.java 2007-11-06 01:24:37 UTC (rev 16355)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/FactDataTest.java 2007-11-06 01:27:26 UTC (rev 16356)
@@ -9,9 +9,9 @@
public void testAdd() {
FactData fd = new FactData("x", "y", new FieldData[0], false );
assertEquals(0, fd.fieldData.length);
- fd.addFieldData(new FieldData("x", "y", false));
+ fd.addFieldData(new FieldData("x", "y"));
assertEquals(1, fd.fieldData.length);
- fd.addFieldData(new FieldData("q", "x", false));
+ fd.addFieldData(new FieldData("q", "x"));
assertEquals(2, fd.fieldData.length);
}
}
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 2007-11-06 01:24:37 UTC (rev 16355)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java 2007-11-06 01:27:26 UTC (rev 16356)
@@ -1,11 +1,9 @@
package org.drools.testframework;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.List;
import java.util.Map;
import org.drools.Cheese;
@@ -23,28 +21,19 @@
import org.drools.brms.client.modeldriven.testing.VerifyField;
import org.drools.brms.client.modeldriven.testing.VerifyRuleFired;
import org.drools.common.InternalWorkingMemory;
-import org.drools.event.ActivationCancelledEvent;
-import org.drools.event.ActivationCreatedEvent;
-import org.drools.event.AfterActivationFiredEvent;
-import org.drools.event.AgendaEventListener;
-import org.drools.event.AgendaGroupPoppedEvent;
-import org.drools.event.AgendaGroupPushedEvent;
-import org.drools.event.BeforeActivationFiredEvent;
import org.drools.rule.TimeMachine;
-import com.thoughtworks.xstream.XStream;
-
public class ScenarioRunnerTest extends RuleUnit {
public void testPopulateFacts() throws Exception {
Scenario sc = new Scenario();
FactData[] facts = new FactData[] {
new FactData("Cheese", "c1", new FieldData[] {
- new FieldData("type", "cheddar", false),
- new FieldData("price", "42", false) }, false),
+ new FieldData("type", "cheddar"),
+ new FieldData("price", "42") }, false),
new FactData("Person", "p1", new FieldData[] {
- new FieldData("name", "mic", false),
- new FieldData("age", "30 + 3", true) }, false) };
+ new FieldData("name", "mic"),
+ new FieldData("age", "=30 + 3") }, false) };
sc.fixtures.addAll(Arrays.asList(facts));
TypeResolver resolver = new ClassTypeResolver(new HashSet<Object>(),
@@ -67,6 +56,36 @@
}
+ public void testPopulateFactsWithExpressions() throws Exception {
+ Scenario sc = new Scenario();
+ FactData[] facts = new FactData[] {
+ new FactData("Cheese", "c1", new FieldData[] {
+ new FieldData("type", "cheddar"),
+ new FieldData("price", "42") }, false),
+ new FactData("Cheese", "c2", new FieldData[] {
+ new FieldData("type", "= c1.type")}, false) };
+
+ sc.fixtures.addAll(Arrays.asList(facts));
+ TypeResolver resolver = new ClassTypeResolver(new HashSet<Object>(),
+ Thread.currentThread().getContextClassLoader());
+ resolver.addImport("org.drools.Cheese");
+
+ ScenarioRunner runner = new ScenarioRunner(sc, resolver,
+ new MockWorkingMemory());
+
+ assertTrue(runner.populatedData.containsKey("c1"));
+ assertTrue(runner.populatedData.containsKey("c2"));
+
+ Cheese c = (Cheese) runner.populatedData.get("c1");
+ assertEquals("cheddar", c.getType());
+ assertEquals(42, c.getPrice());
+
+ Cheese c2 = (Cheese) runner.populatedData.get("c2");
+ assertEquals(c.getType(), c2.getType());
+
+ }
+
+
public void testPopulateNoData() throws Exception {
TypeResolver resolver = new ClassTypeResolver(new HashSet<Object>(),
Thread.currentThread().getContextClassLoader());
@@ -80,7 +99,7 @@
assertEquals(1, c.getPrice());
- FactData fd = new FactData("Cheese", "x", new FieldData[] {new FieldData("type", "", false), new FieldData("price", "42", false)}, false);
+ FactData fd = new FactData("Cheese", "x", new FieldData[] {new FieldData("type", ""), new FieldData("price", "42")}, false);
run.populateFields(fd, run.populatedData, c);
assertEquals("whee", c.getType());
@@ -183,8 +202,8 @@
public void testDummyRunNoRules() throws Exception {
Scenario sc = new Scenario();
FactData[] facts = new FactData[] { new FactData("Cheese", "c1",
- new FieldData[] { new FieldData("type", "cheddar", false),
- new FieldData("price", "42", false) }, false) };
+ new FieldData[] { new FieldData("type", "cheddar"),
+ new FieldData("price", "42") }, false) };
VerifyFact[] assertions = new VerifyFact[] { new VerifyFact("c1",
new VerifyField[] { new VerifyField("type", "cheddar", "=="),
@@ -268,9 +287,9 @@
Scenario sc = new Scenario();
FactData[] facts = new FactData[] {
new FactData("Cheese", "c2", new FieldData[] { new FieldData(
- "type", "stilton", false) }, false) };
+ "type", "stilton") }, false) };
sc.globals.add(new FactData("Cheese", "c", new FieldData[] { new FieldData(
- "type", "cheddar", false) }, false));
+ "type", "cheddar") }, false));
sc.fixtures.addAll(Arrays.asList(facts));
TypeResolver resolver = new ClassTypeResolver(new HashSet<Object>(),
@@ -368,8 +387,8 @@
Scenario sc = new Scenario();
FactData[] facts = new FactData[] {
new FactData("Cheese", "c1", new FieldData[] {
- new FieldData("type", "cheddar", false),
- new FieldData("price", "42", false) }, false)
+ new FieldData("type", "cheddar"),
+ new FieldData("price", "42") }, false)
};
sc.globals.add(new FactData("Person", "p", new FieldData[0] , false));
@@ -430,10 +449,10 @@
public void testIntgerationStateful() throws Exception {
Scenario sc = new Scenario();
- sc.fixtures.add(new FactData("Cheese", "c1", new FieldData[] {new FieldData("price", "1", false)}, false));
+ sc.fixtures.add(new FactData("Cheese", "c1", new FieldData[] {new FieldData("price", "1")}, false));
ExecutionTrace ex = new ExecutionTrace();
sc.fixtures.add(ex);
- sc.fixtures.add(new FactData("Cheese", "c2", new FieldData[] {new FieldData("price", "2", false)}, false));
+ sc.fixtures.add(new FactData("Cheese", "c2", new FieldData[] {new FieldData("price", "2")}, false));
sc.fixtures.add(new VerifyFact("c1", new VerifyField[] {new VerifyField("type", "rule1", "==")}));
ex = new ExecutionTrace();
sc.fixtures.add(ex);
@@ -460,13 +479,13 @@
public void testIntegrationWithModify() throws Exception {
Scenario sc = new Scenario();
- sc.fixtures.add(new FactData("Cheese", "c1", new FieldData[] {new FieldData("price", "1", false)}, false));
+ sc.fixtures.add(new FactData("Cheese", "c1", new FieldData[] {new FieldData("price", "1")}, false));
sc.fixtures.add(new ExecutionTrace());
sc.fixtures.add(new VerifyFact("c1", new VerifyField[] {new VerifyField("type", "rule1", "==")}));
- sc.fixtures.add(new FactData("Cheese", "c1", new FieldData[] {new FieldData("price", "42", false)}, true));
+ sc.fixtures.add(new FactData("Cheese", "c1", new FieldData[] {new FieldData("price", "42")}, true));
sc.fixtures.add(new ExecutionTrace());
sc.fixtures.add(new VerifyFact("c1", new VerifyField[] {new VerifyField("type", "rule3", "==")}));
@@ -492,8 +511,8 @@
public void testIntegrationWithRetract() throws Exception {
Scenario sc = new Scenario();
- sc.fixtures.add(new FactData("Cheese", "c1", new FieldData[] {new FieldData("price", "46", false), new FieldData("type", "XXX", false)}, false));
- sc.fixtures.add(new FactData("Cheese", "c2", new FieldData[] {new FieldData("price", "42", false)}, false));
+ sc.fixtures.add(new FactData("Cheese", "c1", new FieldData[] {new FieldData("price", "46"), new FieldData("type", "XXX")}, false));
+ sc.fixtures.add(new FactData("Cheese", "c2", new FieldData[] {new FieldData("price", "42")}, false));
sc.fixtures.add(new ExecutionTrace());
sc.fixtures.add(new VerifyFact("c1", new VerifyField[] {new VerifyField("type", "XXX", "==")}));
@@ -525,8 +544,8 @@
Scenario sc = new Scenario();
FactData[] facts = new FactData[] {
new FactData("Cheese", "c1", new FieldData[] {
- new FieldData("type", "cheddar", false),
- new FieldData("price", "42", false) }, false)
+ new FieldData("type", "cheddar"),
+ new FieldData("price", "42") }, false)
};
sc.fixtures.addAll(Arrays.asList(facts));
More information about the jboss-svn-commits
mailing list