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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Nov 14 01:38:36 EST 2007


Author: michael.neale at jboss.com
Date: 2007-11-14 01:38:35 -0500 (Wed, 14 Nov 2007)
New Revision: 16581

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/Scenario.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioTest.java
Log:
JBRULES-1271 test scenario stuff

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-11-14 06:19:52 UTC (rev 16580)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/Scenario.java	2007-11-14 06:38:35 UTC (rev 16581)
@@ -108,6 +108,30 @@
 		}
 		return m;
 	}
+
+	/**
+	 * This will return a list of fact names that are in scope (including globals).
+	 */
+	public List getFactNamesInScope(ExecutionTrace ex) {
+		List l = new ArrayList();
+		int p = this.fixtures.indexOf(ex);
+		for (int i = 0; i < p; i++) {
+			Fixture f = (Fixture) fixtures.get(i);
+			if (f instanceof FactData) {
+				FactData fd = (FactData) f;
+				l.add(fd.name);
+			} else if (f instanceof RetractFact) {
+				RetractFact rf = (RetractFact) f;
+				l.remove(rf.name);
+			}
+		}
+
+		for (Iterator iterator = globals.iterator(); iterator.hasNext();) {
+			FactData f = (FactData) iterator.next();
+			l.add(f.name);
+		}
+		return l;
+	}
 }
 
 

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioTest.java	2007-11-14 06:19:52 UTC (rev 16580)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioTest.java	2007-11-14 06:38:35 UTC (rev 16581)
@@ -1,8 +1,12 @@
 package org.drools.testframework;
 
+import java.util.List;
 import java.util.Map;
 
+import org.drools.brms.client.modeldriven.testing.ExecutionTrace;
 import org.drools.brms.client.modeldriven.testing.FactData;
+import org.drools.brms.client.modeldriven.testing.FieldData;
+import org.drools.brms.client.modeldriven.testing.RetractFact;
 import org.drools.brms.client.modeldriven.testing.Scenario;
 import org.drools.brms.client.modeldriven.testing.VerifyRuleFired;
 
@@ -69,4 +73,34 @@
 
 	}
 
+	public void testVariablesInScope() {
+		Scenario sc = new Scenario();
+		sc.globals.add(new FactData("X", "x", new FieldData[0], false));
+
+		sc.fixtures.add(new FactData("Q", "q", new FieldData[0], true));
+		sc.fixtures.add(new FactData("Z", "z", new FieldData[0], false));
+		ExecutionTrace ex1 = new ExecutionTrace();
+
+		sc.fixtures.add(ex1);
+		sc.fixtures.add(new RetractFact("z"));
+		sc.fixtures.add(new FactData("Y", "y", new FieldData[0], false));
+
+		ExecutionTrace ex2 = new ExecutionTrace();
+		sc.fixtures.add(ex2);
+
+		List l = sc.getFactNamesInScope(ex1);
+		assertEquals(3, l.size());
+		assertEquals("q", l.get(0));
+		assertEquals("z", l.get(1));
+		assertEquals("x", l.get(2));
+
+		l = sc.getFactNamesInScope(ex2);
+		assertEquals(3, l.size());
+		assertEquals("q", l.get(0));
+		assertEquals("y", l.get(1));
+		assertEquals("x", l.get(2));
+
+
+	}
+
 }




More information about the jboss-svn-commits mailing list