[jboss-svn-commits] JBL Code SVN: r17190 - 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 Dec 12 01:13:27 EST 2007
Author: michael.neale at jboss.com
Date: 2007-12-12 01:13:26 -0500 (Wed, 12 Dec 2007)
New Revision: 17190
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/testframework/RuleCoverageListener.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/RuleCoverageListenerTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioTest.java
Log:
JBRULES-1383 Rule coverage measurement
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-12-12 06:09:10 UTC (rev 17189)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/Scenario.java 2007-12-12 06:13:26 UTC (rev 17190)
@@ -187,6 +187,36 @@
}
+ /**
+ *
+ * @return int[0] = failures, int[1] = total;
+ */
+ public int[] countFailuresTotal() {
+ int total = 0;
+ int failures = 0;
+ for (Iterator iterator = fixtures.iterator(); iterator.hasNext();) {
+ Fixture f = (Fixture) iterator.next();
+ if (f instanceof VerifyRuleFired) {
+ total++;
+ VerifyRuleFired vr = (VerifyRuleFired) f;
+ if (vr.successResult != null && !vr.successResult.booleanValue()) {
+ failures++;
+ }
+ } else if (f instanceof VerifyFact) {
+ VerifyFact vf = (VerifyFact) f;
+ for (Iterator it = vf.fieldValues.iterator(); it
+ .hasNext();) {
+ VerifyField vfl = (VerifyField) it.next();
+ if (vfl.successResult != null && !vfl.successResult.booleanValue()) {
+ failures++;
+ }
+ total++;
+ }
+ }
+ }
+ return new int[] {failures, total};
+ }
+
}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/RuleCoverageListener.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/RuleCoverageListener.java 2007-12-12 06:09:10 UTC (rev 17189)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/RuleCoverageListener.java 2007-12-12 06:13:26 UTC (rev 17190)
@@ -18,7 +18,7 @@
*/
public class RuleCoverageListener implements AgendaEventListener {
- private final Set<String> rules;
+ final Set<String> rules;
private int totalCount;
/**
@@ -58,8 +58,8 @@
/**
* @return A set of rules that were not fired.
*/
- public Set<String> getUnfiredRules() {
- return this.rules;
+ public String[] getUnfiredRules() {
+ return rules.toArray(new String[rules.size()]);
}
public int getPercentCovered() {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/RuleCoverageListenerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/RuleCoverageListenerTest.java 2007-12-12 06:09:10 UTC (rev 17189)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/RuleCoverageListenerTest.java 2007-12-12 06:13:26 UTC (rev 17190)
@@ -25,30 +25,30 @@
rules.add("rule3");
RuleCoverageListener ls = new RuleCoverageListener(rules);
- assertEquals(3, ls.getUnfiredRules().size());
+ assertEquals(3, ls.rules.size());
assertEquals(0, ls.getPercentCovered());
ls.afterActivationFired(new AfterActivationFiredEvent(new MockActivation("rule1")), null);
- assertEquals(2, ls.getUnfiredRules().size());
- assertTrue(ls.getUnfiredRules().contains("rule2"));
- assertTrue(ls.getUnfiredRules().contains("rule3"));
- assertFalse(ls.getUnfiredRules().contains("rule1"));
+ assertEquals(2, ls.rules.size());
+ assertTrue(ls.rules.contains("rule2"));
+ assertTrue(ls.rules.contains("rule3"));
+ assertFalse(ls.rules.contains("rule1"));
assertEquals(33, ls.getPercentCovered());
ls.afterActivationFired(new AfterActivationFiredEvent(new MockActivation("rule2")), null);
- assertEquals(1, ls.getUnfiredRules().size());
- assertFalse(ls.getUnfiredRules().contains("rule2"));
- assertFalse(ls.getUnfiredRules().contains("rule1"));
- assertTrue(ls.getUnfiredRules().contains("rule3"));
+ assertEquals(1, ls.rules.size());
+ assertFalse(ls.rules.contains("rule2"));
+ assertFalse(ls.rules.contains("rule1"));
+ assertTrue(ls.rules.contains("rule3"));
assertEquals(66, ls.getPercentCovered());
ls.afterActivationFired(new AfterActivationFiredEvent(new MockActivation("rule3")), null);
- assertEquals(0, ls.getUnfiredRules().size());
- assertFalse(ls.getUnfiredRules().contains("rule2"));
- assertFalse(ls.getUnfiredRules().contains("rule1"));
- assertFalse(ls.getUnfiredRules().contains("rule3"));
+ assertEquals(0, ls.rules.size());
+ assertFalse(ls.rules.contains("rule2"));
+ assertFalse(ls.rules.contains("rule1"));
+ assertFalse(ls.rules.contains("rule3"));
assertEquals(100, ls.getPercentCovered());
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-12-12 06:09:10 UTC (rev 17189)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioTest.java 2007-12-12 06:13:26 UTC (rev 17190)
@@ -10,6 +10,7 @@
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.VerifyField;
import org.drools.brms.client.modeldriven.testing.VerifyRuleFired;
import junit.framework.TestCase;
@@ -165,4 +166,30 @@
assertFalse(sc.isFactNameExisting("w"));
}
+ public void testCountSuccessFailures() {
+ Scenario sc = new Scenario();
+ sc.fixtures.add(new FactData());
+ sc.fixtures.add(new ExecutionTrace());
+ VerifyRuleFired vr = new VerifyRuleFired();
+ vr.successResult = false;
+ sc.fixtures.add(vr);
+
+ VerifyField vf = new VerifyField();
+ vf.successResult = true;
+ VerifyField vf2 = new VerifyField();
+ vf2.successResult = false;
+ VerifyFact vfact = new VerifyFact();
+ vfact.fieldValues.add(vf);
+ vfact.fieldValues.add(vf2);
+ sc.fixtures.add(vfact);
+
+
+ int[] totals = sc.countFailuresTotal();
+ assertEquals(2, totals[0]);
+ assertEquals(3, totals[1]);
+
+
+
+ }
+
}
More information about the jboss-svn-commits
mailing list