[jboss-svn-commits] JBL Code SVN: r19339 - in labs/jbossrules/branches/mic_20080325/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 Mar 31 08:43:56 EDT 2008
Author: michael.neale at jboss.com
Date: 2008-03-31 08:43:56 -0400 (Mon, 31 Mar 2008)
New Revision: 19339
Modified:
labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyFact.java
labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/testframework/ScenarioRunner.java
labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java
labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java
Log:
general fixes for testing QA - adding ability to check for existence of any fact in WM
Modified: labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyFact.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyFact.java 2008-03-31 12:17:59 UTC (rev 19338)
+++ labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyFact.java 2008-03-31 12:43:56 UTC (rev 19339)
@@ -17,18 +17,30 @@
public String name;
public String description;
+ /**
+ * This is true if it isn't a named fact, but it will just search working memory to verify.
+ */
+ public boolean anonymous = false;
+
public VerifyFact() {}
- public VerifyFact(String factName, List fieldValues) {
+ public VerifyFact(String factName, List fieldValues, boolean anonymous) {
this.name = factName;
this.fieldValues = fieldValues;
+ this.anonymous = anonymous;
}
+ public VerifyFact(String factName, List fieldValues) {
+ this(factName, fieldValues, false);
+ }
+
+
+
public boolean wasSuccessful() {
for (int i = 0; i < fieldValues.size(); i++) {
VerifyField vf = (VerifyField) fieldValues.get(i);
- if (! vf.successResult.booleanValue()) {
+ if (!vf.successResult.booleanValue()) {
return false;
}
}
Modified: labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/testframework/ScenarioRunner.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/testframework/ScenarioRunner.java 2008-03-31 12:17:59 UTC (rev 19338)
+++ labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/testframework/ScenarioRunner.java 2008-03-31 12:43:56 UTC (rev 19339)
@@ -193,8 +193,29 @@
void verify(VerifyFact value) {
- Object fact = this.populatedData.get(value.name);
- if (fact == null) fact = this.globalData.get(value.name);
+
+ if (!value.anonymous) {
+ Object fact = this.populatedData.get(value.name);
+ if (fact == null) fact = this.globalData.get(value.name);
+ checkFact(value, fact);
+ } else {
+ Iterator obs = this.workingMemory.iterateObjects();
+ while(obs.hasNext()) {
+ Object fact = obs.next();
+ if (fact.getClass().getSimpleName().equals(value.name)) {
+ checkFact(value, fact);
+ if (value.wasSuccessful()) return;
+ }
+ }
+ for (Iterator iterator = value.fieldValues.iterator(); iterator.hasNext();) {
+ VerifyField vfl = (VerifyField) iterator.next();
+ vfl.successResult = Boolean.FALSE;
+ vfl.actualResult = "Not found";
+ }
+ }
+ }
+
+ private void checkFact(VerifyFact value, Object fact) {
for (int i = 0; i < value.fieldValues.size(); i++) {
VerifyField fld = (VerifyField) value.fieldValues.get(i);
Map<String, Object> st = new HashMap<String, Object>();
@@ -233,6 +254,8 @@
}
}
+
+
Object populateFields(FactData fact, Map<String, Object> factData, Object factObject) {
for (int i = 0; i < fact.fieldData.size(); i++) {
FieldData field = (FieldData) fact.fieldData.get(i);
Modified: labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java 2008-03-31 12:17:59 UTC (rev 19338)
+++ labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java 2008-03-31 12:43:56 UTC (rev 19339)
@@ -295,8 +295,7 @@
}
public Iterator iterateObjects() {
- // TODO Auto-generated method stub
- return null;
+ return this.facts.iterator();
}
public Iterator iterateObjects(ObjectFilter filter) {
Modified: labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java 2008-03-31 12:17:59 UTC (rev 19338)
+++ labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java 2008-03-31 12:43:56 UTC (rev 19339)
@@ -232,6 +232,43 @@
}
+ public void testVerifyAnonymousFacts() throws Exception {
+ MockWorkingMemory wm = new MockWorkingMemory();
+ ScenarioRunner runner = new ScenarioRunner( new Scenario(),
+ null,
+ wm );
+
+ Cheese c = new Cheese();
+ c.setPrice(42);
+ c.setType("stilton");
+
+ wm.facts.add(c);
+
+ VerifyFact vf = new VerifyFact("Cheese", new ArrayList(), true);
+ vf.fieldValues.add(new VerifyField("price", "42", "=="));
+ vf.fieldValues.add(new VerifyField("type", "stilton", "=="));
+
+ runner.verify(vf);
+
+ assertTrue(vf.wasSuccessful());
+
+ vf = new VerifyFact("Person", new ArrayList(), true);
+ vf.fieldValues.add(new VerifyField("age", "42", "=="));
+
+ runner.verify(vf);
+
+ assertFalse(vf.wasSuccessful());
+
+ vf = new VerifyFact("Cheese", new ArrayList(), true);
+ vf.fieldValues.add(new VerifyField("price", "43", "=="));
+ vf.fieldValues.add(new VerifyField("type", "stilton", "=="));
+
+ runner.verify(vf);
+
+ assertFalse(vf.wasSuccessful());
+
+ }
+
public void testVerifyFactsWithOperator() throws Exception {
ScenarioRunner runner = new ScenarioRunner( new Scenario(),
null,
More information about the jboss-svn-commits
mailing list