[jboss-svn-commits] JBL Code SVN: r11896 - labs/jbossrules/trunk/experimental/drools-testing/src/org/drools/testing/core/engine.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed May 16 09:28:11 EDT 2007
Author: mshaw
Date: 2007-05-16 09:28:11 -0400 (Wed, 16 May 2007)
New Revision: 11896
Modified:
labs/jbossrules/trunk/experimental/drools-testing/src/org/drools/testing/core/engine/TestRunner.java
Log:
Modified: labs/jbossrules/trunk/experimental/drools-testing/src/org/drools/testing/core/engine/TestRunner.java
===================================================================
--- labs/jbossrules/trunk/experimental/drools-testing/src/org/drools/testing/core/engine/TestRunner.java 2007-05-16 13:16:21 UTC (rev 11895)
+++ labs/jbossrules/trunk/experimental/drools-testing/src/org/drools/testing/core/engine/TestRunner.java 2007-05-16 13:28:11 UTC (rev 11896)
@@ -1,12 +1,17 @@
package org.drools.testing.core.engine;
+import java.util.ArrayList;
+import java.util.Collection;
+
import org.apache.commons.beanutils.PropertyUtils;
import org.drools.WorkingMemory;
import org.drools.rule.Package;
import org.drools.testing.core.exception.RuleTestLanguageException;
import org.drools.testing.core.exception.RuleTestServiceUnavailableException;
+import org.drools.testing.core.filters.MultipleRuleAgendaFilter;
import org.drools.testing.core.model.Fact;
import org.drools.testing.core.model.Field;
+import org.drools.testing.core.model.Rule;
import org.drools.testing.core.model.Scenario;
import org.drools.testing.core.utils.ObjectUtils;
import org.drools.testing.core.wrapper.RuleBaseWrapper;
@@ -79,7 +84,9 @@
// create the working memory
WorkingMemory wm = RuleBaseWrapper.getInstance().getRuleBase().newWorkingMemory(true);
parseFacts(scenario.getFacts(), wm);
-
+ Collection rules = specifyRulesToFire(scenario.getRules(), wm);
+ // fire the rules
+ wm.fireAllRules(new MultipleRuleAgendaFilter(rules));
}
/**
@@ -118,4 +125,21 @@
wm.assertObject(fact);
}
}
+
+ /**
+ * add the multipleRuleNameAgenda filter to the working memory
+ *
+ * @param rules
+ * @param wm
+ * @throws RuleTestLanguageException
+ */
+ private Collection specifyRulesToFire (Rule[] rules, WorkingMemory wm) throws RuleTestLanguageException {
+
+ Collection items = new ArrayList();
+ for (int i=0; i<rules.length; i++) {
+ if (rules[i].isFire())
+ items.add(rules[i].getName());
+ }
+ return items;
+ }
}
More information about the jboss-svn-commits
mailing list