[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