[jboss-svn-commits] JBL Code SVN: r12208 - in labs/jbossrules/trunk/experimental/drools-testing/src/org/drools/testing/core: test and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue May 29 05:26:49 EDT 2007


Author: mshaw
Date: 2007-05-29 05:26:49 -0400 (Tue, 29 May 2007)
New Revision: 12208

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/test/APITester.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-29 09:16:10 UTC (rev 12207)
+++ labs/jbossrules/trunk/experimental/drools-testing/src/org/drools/testing/core/engine/TestRunner.java	2007-05-29 09:26:49 UTC (rev 12208)
@@ -11,6 +11,7 @@
 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.Assertion;
 import org.drools.testing.core.model.Fact;
 import org.drools.testing.core.model.Field;
 import org.drools.testing.core.model.Outcome;
@@ -91,6 +92,8 @@
 		Collection rules = specifyRulesToFire(scenario.getRules(), wm);
 		// fire the rules
 		wm.fireAllRules(new MultipleRuleAgendaFilter(rules));
+		setOutcomes(scenario, wm);
+		wm.dispose();
 	}
 	
 	/**
@@ -174,9 +177,34 @@
 		Iterator i = scenario.getOutcomes().iterator();
 		while (i.hasNext()) {
 			Outcome outcome = (Outcome) i.next();
-			
+			Iterator j =  outcome.getAssertions().iterator();
+			while (j.hasNext()) {
+				Assertion assertion = (Assertion) j.next();
+				processAssertion (assertion, wm);
+			}
 		}
 	}
 	
-	
+	/**
+	 * 
+	 * 
+	 * @param assertion
+	 * @param wm
+	 * @return
+	 * @throws RuleTestLanguageException
+	 */
+	private Assertion processAssertion (Assertion assertion, WorkingMemory wm) throws RuleTestLanguageException {
+		
+		Class classDefn; 
+		Object fact;
+		
+		try {
+			classDefn = ObjectUtils.getClassDefn(assertion.getBeanName());
+			fact = classDefn.newInstance(); 
+		}catch (Exception e) {
+			throw new RuleTestServiceUnavailableException("Exception ocurred",e);
+		}
+		
+		return assertion;
+	}
 }

Modified: labs/jbossrules/trunk/experimental/drools-testing/src/org/drools/testing/core/test/APITester.java
===================================================================
--- labs/jbossrules/trunk/experimental/drools-testing/src/org/drools/testing/core/test/APITester.java	2007-05-29 09:16:10 UTC (rev 12207)
+++ labs/jbossrules/trunk/experimental/drools-testing/src/org/drools/testing/core/test/APITester.java	2007-05-29 09:26:49 UTC (rev 12208)
@@ -83,7 +83,7 @@
 	private Assertion addAssertion () {
 		Assertion assertion = new Assertion();
 		assertion.setName("assertion1");
-		assertion.setBeanName("Account");
+		assertion.setBeanName("org.drools.testing.core.rules.model.Account");
 		assertion.setPropertyName("balance");
 		assertion.setExpectedValue("10");
 		return assertion;




More information about the jboss-svn-commits mailing list