[jboss-svn-commits] JBL Code SVN: r16034 - labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Oct 24 00:46:37 EDT 2007


Author: michael.neale at jboss.com
Date: 2007-10-24 00:46:37 -0400 (Wed, 24 Oct 2007)
New Revision: 16034

Modified:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java
Log:
JBRULES-1271 AST + API now working (first cut)

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-24 02:27:21 UTC (rev 16033)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java	2007-10-24 04:46:37 UTC (rev 16034)
@@ -253,7 +253,7 @@
 	/**
 	 * Do a kind of end to end test with some real rules.
 	 */
-	public void testIntegration() throws Exception {
+	public void testIntegrationWithSuccess() throws Exception {
 		Scenario sc = new Scenario();
 		sc.facts = new FactData[] {
 				new FactData("Cheese", "c1", new FieldData[] {
@@ -304,7 +304,64 @@
 
 	}
 
+	public void testIntegrationWithFailure() throws Exception {
+		Scenario sc = new Scenario();
+		sc.facts = new FactData[] {
+				new FactData("Cheese", "c1", new FieldData[] {
+						new FieldData("type", "cheddar", false),
+						new FieldData("price", "42", false) }, false),
+						new FactData("Person", "p", new FieldData[0] , true)
+				};
 
 
+		sc.ruleTrace.rules = new String[] {"rule1", "rule2" };
+		sc.ruleTrace.inclusive = true;
 
+		sc.assertions = new Assertion[5];
+
+		sc.assertions[0] =	new VerifyFact("c1", new VerifyField[] {
+					new VerifyField("type", "cheddar")
+
+		});
+
+		sc.assertions[1] = new VerifyFact("p", new VerifyField[] {
+					new VerifyField("name", "XXX"),
+					new VerifyField("status", "rule2")
+
+		});
+
+		sc.assertions[2] = new VerifyRuleFired("rule1", 1, null);
+		sc.assertions[3] = new VerifyRuleFired("rule2", 1, null);
+		sc.assertions[4] = new VerifyRuleFired("rule3", 2, null);
+
+		TypeResolver resolver = new ClassTypeResolver(new HashSet<Object>(),
+				Thread.currentThread().getContextClassLoader());
+		resolver.addImport("org.drools.Cheese");
+		resolver.addImport("org.drools.Person");
+
+        WorkingMemory wm = getWorkingMemory("test_rules2.drl");
+
+        ScenarioRunner run = new ScenarioRunner(sc, resolver, (InternalWorkingMemory) wm);
+
+        assertSame(run.scenario, sc);
+
+        assertFalse(sc.wasSuccessful());
+
+        VerifyFact vf = (VerifyFact) sc.assertions[1];
+        assertFalse(vf.fieldValues[0].success);
+        assertEquals("XXX", vf.fieldValues[0].expected);
+        assertEquals("rule1", vf.fieldValues[0].actual);
+
+        VerifyRuleFired vr = (VerifyRuleFired) sc.assertions[4];
+        assertFalse(vr.success);
+
+        assertEquals(2, vr.expectedCount.intValue());
+        assertEquals(1, vr.actual.intValue());
+
+
+	}
+
+
+
+
 }




More information about the jboss-svn-commits mailing list