[jboss-svn-commits] JBL Code SVN: r16622 - 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
Thu Nov 15 01:45:37 EST 2007


Author: michael.neale at jboss.com
Date: 2007-11-15 01:45:36 -0500 (Thu, 15 Nov 2007)
New Revision: 16622

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/VerifyFact.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/ScenarioRunnerTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioTest.java
Log:
JBRULES-1271 logic for checking usages of variables in a scenario

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 06:19:52 UTC (rev 16621)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/Scenario.java	2007-11-15 06:45:36 UTC (rev 16622)
@@ -133,6 +133,30 @@
 		}
 		return l;
 	}
+
+	/**
+	 * @return true iff a fact is actually used (ie if its not, its safe to remove it).
+	 */
+	public boolean isFactNameUsed(FactData fd) {
+		int start = this.fixtures.indexOf(fd);
+		for (int i = start + 1; i < fixtures.size(); i++) {
+			Fixture f = (Fixture) fixtures.get(i);
+			if (f instanceof RetractFact) {
+				 if (((RetractFact)f).name.equals(fd.name)) {
+					 return true;
+				 }
+			} else if (f instanceof VerifyFact) {
+				 if (((VerifyFact)f).name.equals(fd.name)) {
+					 return true;
+				 }
+			} else if (f instanceof FactData) {
+				 if (((FactData)f).name.equals(fd.name)) {
+					 return true;
+				 }
+			}
+		}
+		return false;
+	}
 }
 
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyFact.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyFact.java	2007-11-15 06:19:52 UTC (rev 16621)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyFact.java	2007-11-15 06:45:36 UTC (rev 16622)
@@ -14,13 +14,13 @@
 	 * @gwt.typeArgs <org.drools.brms.client.modeldriven.testing.VerifyField>
 	 */
 	public List fieldValues = new ArrayList();
-	public String factName;
+	public String name;
 	public String description;
 
 
 	public VerifyFact() {}
 	public VerifyFact(String factName, List fieldValues) {
-		this.factName = factName;
+		this.name = factName;
 		this.fieldValues = fieldValues;
 	}
 

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 06:19:52 UTC (rev 16621)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/ScenarioRunner.java	2007-11-15 06:45:36 UTC (rev 16622)
@@ -172,8 +172,8 @@
 
 
 	void verify(VerifyFact value) {
-		Object fact = this.populatedData.get(value.factName);
-		if (fact == null) fact = this.globalData.get(value.factName);
+		Object fact = this.populatedData.get(value.name);
+		if (fact == null) fact = this.globalData.get(value.name);
 		for (int i = 0; i < value.fieldValues.size(); i++) {
 			VerifyField fld = (VerifyField) value.fieldValues.get(i);
 			Map<String, Object> st = new HashMap<String, Object>();

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 06:19:52 UTC (rev 16621)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java	2007-11-15 06:45:36 UTC (rev 16622)
@@ -122,7 +122,7 @@
 
 		// test all true
 		VerifyFact vf = new VerifyFact();
-		vf.factName = "f1";
+		vf.name = "f1";
 		vf.fieldValues = ls(
 				new VerifyField("type", "cheddar", "=="),
 				new VerifyField("price", "42", "==") );
@@ -133,7 +133,7 @@
 		}
 
 		vf = new VerifyFact();
-		vf.factName = "f2";
+		vf.name = "f2";
 		vf.fieldValues = ls(
 				new VerifyField("name", "michael", "=="),
 				new VerifyField("age", "33", "==") );
@@ -145,7 +145,7 @@
 
 		// test one false
 		vf = new VerifyFact();
-		vf.factName = "f2";
+		vf.name = "f2";
 		vf.fieldValues = ls(new VerifyField("name", "mark", "=="),
 				new VerifyField("age", "33", "==") );
 
@@ -158,7 +158,7 @@
 
 		// test 2 false
 		vf = new VerifyFact();
-		vf.factName = "f2";
+		vf.name = "f2";
 		vf.fieldValues = ls( new VerifyField("name", "mark", "=="),
 				new VerifyField("age", "32", "==") );
 
@@ -182,7 +182,7 @@
 
 		// test all true
 		VerifyFact vf = new VerifyFact();
-		vf.factName = "f1";
+		vf.name = "f1";
 		vf.fieldValues = ls(
 				new VerifyField("type", "cheddar", "=="),
 				new VerifyField("price", "4777", "!=") );
@@ -192,7 +192,7 @@
 		}
 
 		vf = new VerifyFact();
-		vf.factName = "f1";
+		vf.name = "f1";
 		vf.fieldValues = ls(
 				new VerifyField("type", "cheddar", "!="));
 		runner.verify(vf);

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 06:19:52 UTC (rev 16621)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioTest.java	2007-11-15 06:45:36 UTC (rev 16622)
@@ -9,6 +9,7 @@
 import org.drools.brms.client.modeldriven.testing.FieldData;
 import org.drools.brms.client.modeldriven.testing.RetractFact;
 import org.drools.brms.client.modeldriven.testing.Scenario;
+import org.drools.brms.client.modeldriven.testing.VerifyFact;
 import org.drools.brms.client.modeldriven.testing.VerifyRuleFired;
 
 import junit.framework.TestCase;
@@ -106,4 +107,28 @@
 
 	}
 
+	public void testAllowRemoveFact() {
+		Scenario sc = new Scenario();
+
+		FactData fd1 = new FactData("X", "x", new ArrayList(), false);
+		sc.fixtures.add(fd1);
+		FactData fd2 = new FactData("Q", "q", new ArrayList(), false);
+		sc.fixtures.add(fd2);
+		FactData fd3 = new FactData("Z", "z", new ArrayList(), false);
+		sc.fixtures.add(fd3);
+		ExecutionTrace ex1 = new ExecutionTrace();
+		FactData fd4 = new FactData("I", "i", new ArrayList(), false);
+		sc.globals.add(fd4);
+
+		sc.fixtures.add(ex1);
+		sc.fixtures.add(new RetractFact("z"));
+		sc.fixtures.add(new FactData("Z", "z", new ArrayList(), true));
+		sc.fixtures.add(new VerifyFact("q", new ArrayList()));
+
+		assertFalse(sc.isFactNameUsed(fd1));
+		assertTrue(sc.isFactNameUsed(fd2));
+		assertTrue(sc.isFactNameUsed(fd3));
+		assertFalse(sc.isFactNameUsed(fd4));
+	}
+
 }




More information about the jboss-svn-commits mailing list