[jboss-svn-commits] JBL Code SVN: r15976 - in labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools: testframework and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Oct 22 02:46:12 EDT 2007


Author: michael.neale at jboss.com
Date: 2007-10-22 02:46:12 -0400 (Mon, 22 Oct 2007)
New Revision: 15976

Added:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/ScenarioRules.java
Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/FactData.java
   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/ScenarioRunner.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/TestingEventListener.java
Log:
JBRULES-1271 Test framework

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/FactData.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/FactData.java	2007-10-22 06:41:28 UTC (rev 15975)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/FactData.java	2007-10-22 06:46:12 UTC (rev 15976)
@@ -4,14 +4,6 @@
 
 public class FactData implements Serializable {
 
-
-	public FactData() {}
-	public FactData(String type, String name, FieldData[] fieldData) {
-		this.type = type;
-		this.name = name;
-		this.fieldData = fieldData;
-	}
-
 	/**
 	 * The type (class)
 	 */
@@ -25,5 +17,12 @@
 
 	public FieldData[] fieldData;
 
+	public FactData() {}
+	public FactData(String type, String name, FieldData[] fieldData) {
+		this.type = type;
+		this.name = name;
+		this.fieldData = fieldData;
+	}
 
+
 }

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-10-22 06:41:28 UTC (rev 15975)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/Scenario.java	2007-10-22 06:46:12 UTC (rev 15976)
@@ -12,7 +12,9 @@
 
 	public FactData[] facts = new FactData[0];
 	public Assertion[] assertions = new Assertion[0];
+	public ScenarioRules rules = new ScenarioRules();
 
+
 }
 
 

Added: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/ScenarioRules.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/ScenarioRules.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/ScenarioRules.java	2007-10-22 06:46:12 UTC (rev 15976)
@@ -0,0 +1,36 @@
+package org.drools.brms.client.modeldriven.testing;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * This contains lists of rules to include in the scenario (or exclude, as the case may be !).
+ * This will be used to filter the rule engines behaviour under test.
+ * @author Michael Neale
+ */
+public class ScenarioRules implements Serializable {
+
+	/**
+	 * the rules to include or exclude
+	 */
+	public String[] rules = new String[0];
+
+	/**
+	 * true if only the rules in the list should be allowed to fire. Otherwise
+	 * it is exclusive (ie all rules can fire BUT the ones in the list).
+	 */
+	public boolean inclusive = false;
+
+	/**
+	 * @gwt.typeArgs <java.lang.String, java.lang.Integer>
+	 */
+	public Map firingCounts = new HashMap();
+
+	public ScenarioRules() {}
+	public ScenarioRules(String[] ruleList, boolean inclusive) {
+		this.rules = ruleList;
+		this.inclusive = inclusive;
+	}
+
+}


Property changes on: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/ScenarioRules.java
___________________________________________________________________
Name: svn:eol-style
   + native

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-22 06:41:28 UTC (rev 15975)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/ScenarioRunner.java	2007-10-22 06:46:12 UTC (rev 15976)
@@ -32,7 +32,7 @@
 	 * @param resolver A populated type resolved to be used to resolve the types in the scenario.
 	 *
 	 * For info on how to invoke this, see ContentPackageAssemblerTest.testPackageWithRuleflow in drools-jbrms
-	 * This requires that the classloader for the thread context be set appropraitely. The PackageBuilder
+	 * This requires that the classloader for the thread context be set appropriately. The PackageBuilder
 	 * can provide a suitable TypeResolver for a given package header, and the Package config can provide
 	 * a classloader.
 	 *
@@ -41,7 +41,7 @@
 		Map<String, Object> factData = new HashMap<String, Object>();
 		this.scenario = scenario;
 
-		//have to go and instanciate all the facts
+		//have to go and create all the facts
 		for (int i = 0; i < scenario.facts.length; i++) {
 			FactData fact = scenario.facts[i];
 			Object f = eval("new " + resolver.getFullTypeName(fact.type) + "()");

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/TestingEventListener.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/TestingEventListener.java	2007-10-22 06:41:28 UTC (rev 15975)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/TestingEventListener.java	2007-10-22 06:46:12 UTC (rev 15976)
@@ -113,8 +113,14 @@
 		return this.ruleNames.contains(rule.getName());
 	}
 
+	/**
+	 * @return A map of the number of times a given rule "fired".
+	 * (of course in reality the side effect of its firing may have been nilled out).
+	 */
+	public Map<String, Integer> getFiringCounts() {
+		return this.firingCounts;
+	}
 
-
 }
 
 class NilConsequence implements Consequence {




More information about the jboss-svn-commits mailing list