[jboss-svn-commits] JBL Code SVN: r19604 - 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
Thu Apr 17 03:06:45 EDT 2008


Author: michael.neale at jboss.com
Date: 2008-04-17 03:06:44 -0400 (Thu, 17 Apr 2008)
New Revision: 19604

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:
fixing adding of test scenarios

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	2008-04-17 02:26:08 UTC (rev 19603)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/Scenario.java	2008-04-17 07:06:44 UTC (rev 19604)
@@ -72,14 +72,24 @@
 	}
 
 	/**
-	 * Will slip in a fixture after the specified one.
+	 * Will slip in a fixture after the specified one, but before the next execution trace.
 	 */
-	public void insertAfter(Fixture fix, Fixture toAdd) {
-		if (fix == null) {
-			this.fixtures.add(0, toAdd);
-		} else {
-			fixtures.add( fixtures.indexOf(fix) + 1, toAdd);
-		}
+	public void insertBetween(Fixture fix, Fixture toAdd) {
+
+			boolean inserted = false;
+			int start = (fix == null) ? 0 : fixtures.indexOf(fix) + 1;
+			for (int j = start; j < fixtures.size(); j++) {
+				Fixture f = (Fixture) fixtures.get(j);
+				if (f instanceof ExecutionTrace) {
+					fixtures.add(j, toAdd);
+					return;
+				}
+			}
+
+			if (!inserted) {
+			  //fixtures.add( fixtures.indexOf(fix) + 1, toAdd);
+				fixtures.add(toAdd);
+			}
 	}
 
 	/**

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	2008-04-17 02:26:08 UTC (rev 19603)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/ScenarioTest.java	2008-04-17 07:06:44 UTC (rev 19604)
@@ -16,10 +16,10 @@
 
 public class ScenarioTest extends TestCase {
 
-	public void testInsertAfter() {
+	public void testInsertBetween() {
 		Scenario sc = new Scenario();
 		VerifyRuleFired vf = new VerifyRuleFired();
-		sc.insertAfter(null, vf);
+		sc.insertBetween(null, vf);
 		assertEquals(1, sc.fixtures.size());
 		assertEquals(vf, sc.fixtures.get(0));
 
@@ -27,24 +27,87 @@
 		sc.fixtures.add(vf2);
 
 		VerifyRuleFired vf3 = new VerifyRuleFired();
-		sc.insertAfter(vf, vf3);
+		sc.insertBetween(vf, vf3);
 		assertEquals(3, sc.fixtures.size());
 		assertEquals(vf, sc.fixtures.get(0));
-		assertEquals(vf3, sc.fixtures.get(1));
-		assertEquals(vf2, sc.fixtures.get(2));
+		assertEquals(vf2, sc.fixtures.get(1));
+		assertEquals(vf3, sc.fixtures.get(2));
 
 		VerifyRuleFired vf4 = new VerifyRuleFired();
-		sc.insertAfter(vf2, vf4);
+		sc.insertBetween(vf2, vf4);
 		assertEquals(4, sc.fixtures.size());
-		assertEquals(vf4, sc.fixtures.get(3));
-		assertEquals(vf2, sc.fixtures.get(2));
+		assertEquals(3, sc.fixtures.indexOf(vf4));
+		assertEquals(2, sc.fixtures.indexOf(vf3));
+		//assertEquals(vf4, sc.fixtures.get(3));
+		assertEquals(1, sc.fixtures.indexOf(vf2));
+		//assertEquals(vf2, sc.fixtures.get(2));
+		assertEquals(0, sc.fixtures.indexOf(vf));
 
+
 		VerifyRuleFired vf5 = new VerifyRuleFired();
-		sc.insertAfter(null, vf5);
+		sc.insertBetween(null, vf5);
 		assertEquals(5, sc.fixtures.size());
-		assertEquals(vf5, sc.fixtures.get(0));
+		assertEquals(4, sc.fixtures.indexOf(vf5));
+
+
+		sc = new Scenario();
+
+		sc.fixtures.add(vf);
+		ExecutionTrace ex = new ExecutionTrace();
+		sc.fixtures.add(ex);
+		sc.insertBetween(null, vf2);
+		assertEquals(0, sc.fixtures.indexOf(vf));
+		assertEquals(1, sc.fixtures.indexOf(vf2));
+		assertEquals(2, sc.fixtures.indexOf(ex));
+		assertEquals(3, sc.fixtures.size());
+
+		sc.insertBetween(ex, vf3);
+		assertEquals(4, sc.fixtures.size());
+		assertEquals(0, sc.fixtures.indexOf(vf));
+		assertEquals(1, sc.fixtures.indexOf(vf2));
+		assertEquals(2, sc.fixtures.indexOf(ex));
+		assertEquals(3, sc.fixtures.indexOf(vf3));
+
+
+		ExecutionTrace ex2 = new ExecutionTrace();
+		sc.fixtures.add(ex2);
+		sc.insertBetween(ex, vf4);
+		assertEquals(6, sc.fixtures.size());
+		assertEquals(0, sc.fixtures.indexOf(vf));
+		assertEquals(1, sc.fixtures.indexOf(vf2));
+		assertEquals(2, sc.fixtures.indexOf(ex));
+		assertEquals(3, sc.fixtures.indexOf(vf3));
+		assertEquals(4, sc.fixtures.indexOf(vf4));
+		assertEquals(5, sc.fixtures.indexOf(ex2));
+
+
+		sc.insertBetween(ex2, vf5);
+		assertEquals(7, sc.fixtures.size());
+		assertEquals(0, sc.fixtures.indexOf(vf));
+		assertEquals(1, sc.fixtures.indexOf(vf2));
+		assertEquals(2, sc.fixtures.indexOf(ex));
+		assertEquals(3, sc.fixtures.indexOf(vf3));
+		assertEquals(4, sc.fixtures.indexOf(vf4));
+		assertEquals(5, sc.fixtures.indexOf(ex2));
+		assertEquals(6, sc.fixtures.indexOf(vf5));
+
+
+		sc = new Scenario();
+		sc.fixtures.add(ex);
+
+		sc.insertBetween(null, vf);
+		assertEquals(2, sc.fixtures.size());
+		assertEquals(0, sc.fixtures.indexOf(vf));
+		assertEquals(1, sc.fixtures.indexOf(ex));
+
+
+
+
+
 	}
 
+
+
 	public void testRemoveFixture() {
 		Scenario sc = new Scenario();
 




More information about the jboss-svn-commits mailing list