[jboss-svn-commits] JBL Code SVN: r16616 - 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
Wed Nov 14 23:45:56 EST 2007
Author: michael.neale at jboss.com
Date: 2007-11-14 23:45:56 -0500 (Wed, 14 Nov 2007)
New Revision: 16616
Modified:
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/FactData.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/Scenario.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
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioTest.java
Log:
JBRULES-1271 refactoring
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/FactData.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/FactData.java 2007-11-15 03:57:34 UTC (rev 16615)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/FactData.java 2007-11-15 04:45:56 UTC (rev 16616)
@@ -1,10 +1,6 @@
package org.drools.brms.client.modeldriven.testing;
-import java.io.Serializable;
import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Iterator;
import java.util.List;
public class FactData implements Fixture {
@@ -19,16 +15,18 @@
*/
public String name;
+ /**
+ * @gwt.typeArgs <org.drools.brms.client.modeldriven.testing.FactData>
+ */
+ public List fieldData = new ArrayList();
- public FieldData[] fieldData;
-
/**
* If its a modify, obviously we are modifying existing data in working memory.
*/
public boolean isModify;
public FactData() {}
- public FactData(String type, String name, FieldData[] fieldData, boolean modify) {
+ public FactData(String type, String name, List fieldData, boolean modify) {
this.type = type;
this.name = name;
@@ -37,18 +35,6 @@
}
- /**
- * Using arrays for type safety.
- * Clumsy, but works.
- */
- public void addFieldData(FieldData fd) {
- FieldData[] nf = new FieldData[this.fieldData.length + 1];
- for (int i = 0; i < this.fieldData.length; i++) {
- nf[i] = this.fieldData[i];
- }
- nf[this.fieldData.length] = fd;
- this.fieldData = nf;
- }
}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/Scenario.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/Scenario.java 2007-11-15 03:57:34 UTC (rev 16615)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/Scenario.java 2007-11-15 04:45:56 UTC (rev 16616)
@@ -113,6 +113,7 @@
* This will return a list of fact names that are in scope (including globals).
*/
public List getFactNamesInScope(ExecutionTrace ex) {
+ if (ex == null) return new ArrayList();
List l = new ArrayList();
int p = this.fixtures.indexOf(ex);
for (int i = 0; i < p; i++) {
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-15 03:57:34 UTC (rev 16615)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/ScenarioRunner.java 2007-11-15 04:45:56 UTC (rev 16616)
@@ -188,8 +188,8 @@
}
Object populateFields(FactData fact, Map<String, Object> factData, Object factObject) {
- for (int i = 0; i < fact.fieldData.length; i++) {
- FieldData field = fact.fieldData[i];
+ for (int i = 0; i < fact.fieldData.size(); i++) {
+ FieldData field = (FieldData) fact.fieldData.get(i);
Object val;
if (field.value != null && !field.value.equals("")) {
if (field.value.startsWith("=")) {
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-15 03:57:34 UTC (rev 16615)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/FactDataTest.java 2007-11-15 04:45:56 UTC (rev 16616)
@@ -1,5 +1,7 @@
package org.drools.testframework;
+import java.util.ArrayList;
+
import org.drools.brms.client.modeldriven.testing.FactData;
import org.drools.brms.client.modeldriven.testing.FieldData;
@@ -7,11 +9,11 @@
public class FactDataTest extends TestCase {
public void testAdd() {
- FactData fd = new FactData("x", "y", new FieldData[0], false );
- assertEquals(0, fd.fieldData.length);
- fd.addFieldData(new FieldData("x", "y"));
- assertEquals(1, fd.fieldData.length);
- fd.addFieldData(new FieldData("q", "x"));
- assertEquals(2, fd.fieldData.length);
+ FactData fd = new FactData("x", "y", new ArrayList(), false );
+ assertEquals(0, fd.fieldData.size());
+ fd.fieldData.add(new FieldData("x", "y"));
+ assertEquals(1, fd.fieldData.size());
+ fd.fieldData.add(new FieldData("q", "x"));
+ assertEquals(2, fd.fieldData.size());
}
}
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-15 03:57:34 UTC (rev 16615)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java 2007-11-15 04:45:56 UTC (rev 16616)
@@ -1,5 +1,6 @@
package org.drools.testframework;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
@@ -28,15 +29,15 @@
public void testPopulateFacts() throws Exception {
Scenario sc = new Scenario();
- FactData[] facts = new FactData[] {
- new FactData("Cheese", "c1", new FieldData[] {
+ List facts = ls(
+ new FactData("Cheese", "c1", ls(
new FieldData("type", "cheddar"),
- new FieldData("price", "42") }, false),
- new FactData("Person", "p1", new FieldData[] {
+ new FieldData("price", "42") ), false),
+ new FactData("Person", "p1", ls(
new FieldData("name", "mic"),
- new FieldData("age", "=30 + 3") }, false) };
+ new FieldData("age", "=30 + 3") ), false) );
- sc.fixtures.addAll(Arrays.asList(facts));
+ sc.fixtures.addAll(facts);
TypeResolver resolver = new ClassTypeResolver(new HashSet<Object>(),
Thread.currentThread().getContextClassLoader());
resolver.addImport("org.drools.Cheese");
@@ -59,14 +60,14 @@
public void testPopulateFactsWithExpressions() throws Exception {
Scenario sc = new Scenario();
- FactData[] facts = new FactData[] {
- new FactData("Cheese", "c1", new FieldData[] {
+ List facts = ls(
+ new FactData("Cheese", "c1", ls(
new FieldData("type", "cheddar"),
- new FieldData("price", "42") }, false),
- new FactData("Cheese", "c2", new FieldData[] {
- new FieldData("type", "= c1.type")}, false) };
+ new FieldData("price", "42") ), false),
+ new FactData("Cheese", "c2", ls(
+ new FieldData("type", "= c1.type")), false) );
- sc.fixtures.addAll(Arrays.asList(facts));
+ sc.fixtures.addAll(facts);
TypeResolver resolver = new ClassTypeResolver(new HashSet<Object>(),
Thread.currentThread().getContextClassLoader());
resolver.addImport("org.drools.Cheese");
@@ -100,7 +101,7 @@
assertEquals(1, c.getPrice());
- FactData fd = new FactData("Cheese", "x", new FieldData[] {new FieldData("type", ""), new FieldData("price", "42")}, false);
+ FactData fd = new FactData("Cheese", "x", ls(new FieldData("type", ""), new FieldData("price", "42")), false);
run.populateFields(fd, run.populatedData, c);
assertEquals("whee", c.getType());
@@ -122,9 +123,9 @@
// test all true
VerifyFact vf = new VerifyFact();
vf.factName = "f1";
- vf.fieldValues = ls(new VerifyField[] {
+ vf.fieldValues = ls(
new VerifyField("type", "cheddar", "=="),
- new VerifyField("price", "42", "==") });
+ new VerifyField("price", "42", "==") );
runner.verify(vf);
for (int i = 0; i < vf.fieldValues.size(); i++) {
@@ -133,9 +134,9 @@
vf = new VerifyFact();
vf.factName = "f2";
- vf.fieldValues = ls(new VerifyField[] {
+ vf.fieldValues = ls(
new VerifyField("name", "michael", "=="),
- new VerifyField("age", "33", "==") });
+ new VerifyField("age", "33", "==") );
runner.verify(vf);
for (int i = 0; i < vf.fieldValues.size(); i++) {
@@ -145,8 +146,8 @@
// test one false
vf = new VerifyFact();
vf.factName = "f2";
- vf.fieldValues = ls(new VerifyField[] { new VerifyField("name", "mark", "=="),
- new VerifyField("age", "33", "==") });
+ vf.fieldValues = ls(new VerifyField("name", "mark", "=="),
+ new VerifyField("age", "33", "==") );
runner.verify(vf);
assertFalse(((VerifyField)vf.fieldValues.get(0)).successResult);
@@ -158,8 +159,8 @@
// test 2 false
vf = new VerifyFact();
vf.factName = "f2";
- vf.fieldValues = ls(new VerifyField[] { new VerifyField("name", "mark", "=="),
- new VerifyField("age", "32", "==") });
+ vf.fieldValues = ls( new VerifyField("name", "mark", "=="),
+ new VerifyField("age", "32", "==") );
runner.verify(vf);
assertFalse(((VerifyField)vf.fieldValues.get(0)).successResult);
@@ -182,9 +183,9 @@
// test all true
VerifyFact vf = new VerifyFact();
vf.factName = "f1";
- vf.fieldValues = ls(new VerifyField[] {
+ vf.fieldValues = ls(
new VerifyField("type", "cheddar", "=="),
- new VerifyField("price", "4777", "!=") });
+ new VerifyField("price", "4777", "!=") );
runner.verify(vf);
for (int i = 0; i < vf.fieldValues.size(); i++) {
assertTrue(((VerifyField)vf.fieldValues.get(i)).successResult);
@@ -192,8 +193,8 @@
vf = new VerifyFact();
vf.factName = "f1";
- vf.fieldValues = ls(new VerifyField[] {
- new VerifyField("type", "cheddar", "!=")});
+ vf.fieldValues = ls(
+ new VerifyField("type", "cheddar", "!="));
runner.verify(vf);
assertFalse(((VerifyField)vf.fieldValues.get(0)).successResult);
@@ -203,12 +204,12 @@
public void testDummyRunNoRules() 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) };
+ ls( new FieldData("type", "cheddar"),
+ new FieldData("price", "42") ), false) };
VerifyFact[] assertions = new VerifyFact[] { new VerifyFact("c1",
- ls(new VerifyField[] { new VerifyField("type", "cheddar", "=="),
- new VerifyField("price", "42", "==") })) };
+ ls( new VerifyField("type", "cheddar", "=="),
+ new VerifyField("price", "42", "==") )) };
sc.fixtures.addAll(Arrays.asList(facts));
sc.fixtures.addAll(Arrays.asList(assertions));
@@ -287,10 +288,10 @@
public void testWithGlobals() throws Exception {
Scenario sc = new Scenario();
FactData[] facts = new FactData[] {
- new FactData("Cheese", "c2", new FieldData[] { new FieldData(
- "type", "stilton") }, false) };
- sc.globals.add(new FactData("Cheese", "c", new FieldData[] { new FieldData(
- "type", "cheddar") }, false));
+ new FactData("Cheese", "c2", ls( new FieldData(
+ "type", "stilton") ), false) };
+ sc.globals.add(new FactData("Cheese", "c", ls( new FieldData(
+ "type", "cheddar") ), false));
sc.fixtures.addAll(Arrays.asList(facts));
TypeResolver resolver = new ClassTypeResolver(new HashSet<Object>(),
@@ -387,12 +388,12 @@
Scenario sc = new Scenario();
FactData[] facts = new FactData[] {
- new FactData("Cheese", "c1", new FieldData[] {
+ new FactData("Cheese", "c1", ls(
new FieldData("type", "cheddar"),
- new FieldData("price", "42") }, false)
+ new FieldData("price", "42") ), false)
};
- sc.globals.add(new FactData("Person", "p", new FieldData[0] , false));
+ sc.globals.add(new FactData("Person", "p", new ArrayList() , false));
sc.fixtures.addAll(Arrays.asList(facts));
ExecutionTrace executionTrace = new ExecutionTrace();
@@ -405,12 +406,12 @@
Expectation[] assertions = new Expectation[5];
- assertions[0] = new VerifyFact("c1", ls(new VerifyField[] {
+ assertions[0] = new VerifyFact("c1", ls(
new VerifyField("type", "cheddar", "==")
- }));
+ ));
- assertions[1] = new VerifyFact("p", listof(
+ assertions[1] = new VerifyFact("p", ls(
new VerifyField("name", "rule1", "=="),
new VerifyField("status", "rule2", "=="))
@@ -450,14 +451,14 @@
public void testIntgerationStateful() throws Exception {
Scenario sc = new Scenario();
- sc.fixtures.add(new FactData("Cheese", "c1", new FieldData[] {new FieldData("price", "1")}, false));
+ sc.fixtures.add(new FactData("Cheese", "c1", ls(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));
- sc.fixtures.add(new VerifyFact("c1", listof(new VerifyField("type", "rule1", "=="))));
+ sc.fixtures.add(new FactData("Cheese", "c2", ls(new FieldData("price", "2")), false));
+ sc.fixtures.add(new VerifyFact("c1", ls(new VerifyField("type", "rule1", "=="))));
ex = new ExecutionTrace();
sc.fixtures.add(ex);
- sc.fixtures.add(new VerifyFact("c1", listof(new VerifyField("type", "rule2", "=="))));
+ sc.fixtures.add(new VerifyFact("c1", ls(new VerifyField("type", "rule2", "=="))));
TypeResolver resolver = new ClassTypeResolver(new HashSet<Object>(),
Thread.currentThread().getContextClassLoader());
@@ -480,16 +481,16 @@
public void testIntegrationWithModify() throws Exception {
Scenario sc = new Scenario();
- sc.fixtures.add(new FactData("Cheese", "c1", new FieldData[] {new FieldData("price", "1")}, false));
+ sc.fixtures.add(new FactData("Cheese", "c1", ls(new FieldData("price", "1")), false));
sc.fixtures.add(new ExecutionTrace());
- sc.fixtures.add(new VerifyFact("c1", listof(new VerifyField("type", "rule1", "=="))));
+ sc.fixtures.add(new VerifyFact("c1", ls(new VerifyField("type", "rule1", "=="))));
- sc.fixtures.add(new FactData("Cheese", "c1", new FieldData[] {new FieldData("price", "42")}, true));
+ sc.fixtures.add(new FactData("Cheese", "c1", ls(new FieldData("price", "42")), true));
sc.fixtures.add(new ExecutionTrace());
- sc.fixtures.add(new VerifyFact("c1", listof(new VerifyField("type", "rule3", "=="))));
+ sc.fixtures.add(new VerifyFact("c1", ls(new VerifyField("type", "rule3", "=="))));
@@ -512,16 +513,16 @@
public void testIntegrationWithRetract() throws Exception {
Scenario sc = new Scenario();
- 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 FactData("Cheese", "c1", ls(new FieldData("price", "46"), new FieldData("type", "XXX")), false));
+ sc.fixtures.add(new FactData("Cheese", "c2", ls(new FieldData("price", "42")), false));
sc.fixtures.add(new ExecutionTrace());
- sc.fixtures.add(new VerifyFact("c1", listof(new VerifyField("type", "XXX", "=="))));
+ sc.fixtures.add(new VerifyFact("c1", ls(new VerifyField("type", "XXX", "=="))));
sc.fixtures.add(new RetractFact("c2"));
sc.fixtures.add(new ExecutionTrace());
- sc.fixtures.add(new VerifyFact("c1", listof(new VerifyField("type", "rule4", "=="))));
+ sc.fixtures.add(new VerifyFact("c1", ls(new VerifyField("type", "rule4", "=="))));
@@ -544,13 +545,13 @@
public void testIntegrationWithFailure() throws Exception {
Scenario sc = new Scenario();
FactData[] facts = new FactData[] {
- new FactData("Cheese", "c1", new FieldData[] {
+ new FactData("Cheese", "c1", ls(
new FieldData("type", "cheddar"),
- new FieldData("price", "42") }, false)
+ new FieldData("price", "42") ), false)
};
sc.fixtures.addAll(Arrays.asList(facts));
- sc.globals.add(new FactData("Person", "p", new FieldData[0] , false));
+ sc.globals.add(new FactData("Person", "p", new ArrayList() , false));
ExecutionTrace executionTrace = new ExecutionTrace();
sc.rules.add("rule1");
@@ -560,12 +561,12 @@
Expectation[] assertions = new Expectation[5];
- assertions[0] = new VerifyFact("c1", listof(
+ assertions[0] = new VerifyFact("c1", ls(
new VerifyField("type", "cheddar", "==")
));
- assertions[1] = new VerifyFact("p", listof(
+ assertions[1] = new VerifyFact("p", ls(
new VerifyField("name", "XXX", "=="),
new VerifyField("status", "rule2", "==")
@@ -604,12 +605,10 @@
}
- private List ls(Object[] arr) {
- return Arrays.asList(arr);
- }
- private<T> List<T> listof(T... objects) {
+
+ private<T> List<T> ls(T... objects) {
return Arrays.asList(objects);
}
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioTest.java 2007-11-15 03:57:34 UTC (rev 16615)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioTest.java 2007-11-15 04:45:56 UTC (rev 16616)
@@ -1,5 +1,6 @@
package org.drools.testframework;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -75,15 +76,15 @@
public void testVariablesInScope() {
Scenario sc = new Scenario();
- sc.globals.add(new FactData("X", "x", new FieldData[0], false));
+ sc.globals.add(new FactData("X", "x", new ArrayList(), false));
- sc.fixtures.add(new FactData("Q", "q", new FieldData[0], true));
- sc.fixtures.add(new FactData("Z", "z", new FieldData[0], false));
+ sc.fixtures.add(new FactData("Q", "q", new ArrayList(), true));
+ sc.fixtures.add(new FactData("Z", "z", new ArrayList(), false));
ExecutionTrace ex1 = new ExecutionTrace();
sc.fixtures.add(ex1);
sc.fixtures.add(new RetractFact("z"));
- sc.fixtures.add(new FactData("Y", "y", new FieldData[0], false));
+ sc.fixtures.add(new FactData("Y", "y", new ArrayList(), false));
ExecutionTrace ex2 = new ExecutionTrace();
sc.fixtures.add(ex2);
@@ -100,6 +101,8 @@
assertEquals("y", l.get(1));
assertEquals("x", l.get(2));
+ l= sc.getFactNamesInScope(null);
+ assertEquals(0, l.size());
}
More information about the jboss-svn-commits
mailing list