[jboss-svn-commits] JBL Code SVN: r15997 - 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
Tue Oct 23 00:11:27 EDT 2007


Author: michael.neale at jboss.com
Date: 2007-10-23 00:11:27 -0400 (Tue, 23 Oct 2007)
New Revision: 15997

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyRuleFired.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
Log:
JBRULES-1271 execution trace stuff

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyRuleFired.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyRuleFired.java	2007-10-23 02:01:01 UTC (rev 15996)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyRuleFired.java	2007-10-23 04:11:27 UTC (rev 15997)
@@ -4,9 +4,14 @@
 
 	public String ruleName;
 	public Integer expectedCount;
-	public Boolean expectNotFire;
-	public Boolean expectFire;
 
+	/**
+	 * If this is true, then we expect it to fire at least once.
+	 * False means it should not fire at all (this is an alternative
+	 * to specifying an expected count).
+	 */
+	public Boolean expectedFire;
+
 	public Boolean success;
 	public Integer actual;
 

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-10-23 02:01:01 UTC (rev 15996)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/ScenarioRunner.java	2007-10-23 04:11:27 UTC (rev 15997)
@@ -70,7 +70,7 @@
 			if (assertion instanceof VerifyFact) {
 				verify((VerifyFact)assertion);
 			} else if (assertion instanceof VerifyRuleFired) {
-				verify((VerifyRuleFired) assertion, scenario.ruleTrace.firingCounts);
+				verify((VerifyRuleFired) assertion, listener.firingCounts);
 			}
  		}
 
@@ -78,15 +78,14 @@
 
 
 
-	private void verify(VerifyRuleFired assertion, Map<String, Integer> firingCounts) {
+	void verify(VerifyRuleFired assertion, Map<String, Integer> firingCounts) {
 		assertion.actual = firingCounts.containsKey(assertion.ruleName) ?  firingCounts.get(assertion.ruleName) : 0;
-		if (assertion.expectNotFire) {
-			assertion.success = assertion.actual == 0;
-		} else if (assertion.expectFire) {
-			assertion.success = assertion.actual > 0;
-		} else {
-			assertion.success = assertion.actual == assertion.expectedCount;
+		if (assertion.expectedFire != null) {
+			assertion.success = assertion.expectedFire ? assertion.actual > 0 : assertion.actual == 0;
 		}
+		if (assertion.expectedCount != null) {
+			assertion.success = assertion.actual.equals(assertion.expectedCount);
+		}
 	}
 
 

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-10-23 02:01:01 UTC (rev 15996)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java	2007-10-23 04:11:27 UTC (rev 15997)
@@ -1,6 +1,8 @@
 package org.drools.testframework;
 
+import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Map;
 
 import org.drools.Cheese;
 import org.drools.Person;
@@ -11,6 +13,7 @@
 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;
 
@@ -134,6 +137,40 @@
 
 	}
 
+	public void testCountVerification() throws Exception {
 
+		Map<String, Integer> firingCounts = new HashMap<String, Integer>();
+		firingCounts.put("foo", 2);
+		firingCounts.put("bar", 1);
+		//and baz, we leave out
 
+		ScenarioRunner runner = new ScenarioRunner(new Scenario(), null, new MockWorkingMemory());
+		VerifyRuleFired v = new VerifyRuleFired();
+		v.ruleName = "foo";
+		v.expectedFire = true;
+		runner.verify(v, firingCounts);
+		assertTrue(v.success);
+		assertEquals(2, v.actual.intValue());
+
+		v = new VerifyRuleFired();
+		v.ruleName = "foo";
+		v.expectedFire = false;
+		runner.verify(v, firingCounts);
+		assertFalse(v.success);
+		assertEquals(2, v.actual.intValue());
+
+		v = new VerifyRuleFired();
+		v.ruleName = "foo";
+		v.expectedCount = 2;
+
+		runner.verify(v, firingCounts);
+		assertTrue(v.success);
+		assertEquals(2, v.actual.intValue());
+
+	}
+
+
+
+
+
 }




More information about the jboss-svn-commits mailing list