[jboss-svn-commits] JBL Code SVN: r16745 - in labs/jbossrules/trunk/drools-compiler/src: test/java/org/drools/testframework and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Nov 22 03:01:37 EST 2007
Author: michael.neale at jboss.com
Date: 2007-11-22 03:01:36 -0500 (Thu, 22 Nov 2007)
New Revision: 16745
Modified:
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
Log:
JBRULES-1271 added explanations for expectation failures.
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-22 06:21:33 UTC (rev 16744)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/ScenarioRunner.java 2007-11-22 08:01:36 UTC (rev 16745)
@@ -40,6 +40,7 @@
final InternalWorkingMemory workingMemory;
+
/**
* @param scenario
* The scenario to run.
@@ -157,16 +158,38 @@
}
void verify(VerifyRuleFired assertion, Map<String, Integer> firingCounts) {
+
assertion.actualResult = firingCounts.containsKey(assertion.ruleName) ? firingCounts
.get(assertion.ruleName)
: 0;
if (assertion.expectedFire != null) {
- assertion.successResult = assertion.expectedFire ? assertion.actualResult > 0
- : assertion.actualResult == 0;
+ if (assertion.expectedFire) {
+ if (assertion.actualResult > 0) {
+ assertion.successResult = true;
+ assertion.explanation = "Rule [" + assertion.ruleName + "] was actived " + assertion.actualResult + " times.";
+ } else {
+ assertion.successResult = false;
+ assertion.explanation = "Rule [" + assertion.ruleName + "] was not activated. Expected it to be activated.";
+ }
+ } else {
+ if (assertion.actualResult == 0) {
+ assertion.successResult = true;
+ assertion.explanation = "Rule [" + assertion.ruleName + "] was not activated.";
+ } else {
+ assertion.successResult = false;
+ assertion.explanation = "Rule [" + assertion.ruleName + "] was activated " + assertion.actualResult + " times, but expected none.";
+ }
+ }
}
+
if (assertion.expectedCount != null) {
- assertion.successResult = assertion.actualResult
- .equals(assertion.expectedCount);
+ if (assertion.actualResult.equals(assertion.expectedCount)) {
+ assertion.successResult = true;
+ assertion.explanation = "Rule [" + assertion.ruleName + "] activated " + assertion.actualResult + " times.";
+ } else {
+ assertion.successResult = false;
+ assertion.explanation = "Rule [" + assertion.ruleName + "] activated " + assertion.actualResult + " times. Expected " + assertion.expectedCount + " times.";
+ }
}
}
@@ -179,11 +202,25 @@
Map<String, Object> st = new HashMap<String, Object>();
st.put("__fact__", fact);
st.put("__expected__", fld.expected);
+
fld.successResult = (Boolean) eval("__fact__." + fld.fieldName
+ " " + fld.operator + " __expected__", st);
+
+
if (!fld.successResult) {
fld.actualResult = eval("__fact__." + fld.fieldName, st).toString();
+ if (fld.operator.equals("==")) {
+ fld.explanation = "[" + value.name + "] field [" + fld.fieldName + "] was [" + fld.actualResult
+ + "] expected [" + fld.actualResult + "].";
+ } else {
+ fld.explanation = "[" + value.name + "] field [" + fld.fieldName + "] was not expected to be [" + fld.actualResult
+ + "].";
+ }
+ } else {
+
+ fld.explanation = "[" + value.name + "] field [" + fld.fieldName + "] was [" + fld.expected + "].";
}
+
}
}
@@ -208,4 +245,5 @@
return factObject;
}
+
}
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-22 06:21:33 UTC (rev 16744)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java 2007-11-22 08:01:36 UTC (rev 16745)
@@ -253,6 +253,7 @@
runner.verify(v, firingCounts);
assertFalse(v.successResult);
assertEquals(2, v.actualResult.intValue());
+ assertNotNull(v.explanation);
v = new VerifyRuleFired();
v.ruleName = "foo";
@@ -595,6 +596,7 @@
assertFalse(((VerifyField)vf.fieldValues.get(0)).successResult);
assertEquals("XXX", ((VerifyField)vf.fieldValues.get(0)).expected);
assertEquals("rule1",((VerifyField) vf.fieldValues.get(0)).actualResult);
+ assertNotNull(((VerifyField) vf.fieldValues.get(0)).explanation);
VerifyRuleFired vr = (VerifyRuleFired) assertions[4];
assertFalse(vr.successResult);
More information about the jboss-svn-commits
mailing list