[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