[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