[jbpm-commits] JBoss JBPM SVN: r6937 - in jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm: jpdl/exe and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Thu May 19 02:14:14 EDT 2011


Author: marco.rietveld
Date: 2011-05-19 02:14:13 -0400 (Thu, 19 May 2011)
New Revision: 6937

Modified:
   jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/graph/exe/TokenDbTest.java
   jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/jpdl/exe/AvailableTransitionsDbTest.java
Log:
SOA-2010: these tests contained invalid processes. The processes in the tests have been modified so that the tests still work, but use valid processes. 

Modified: jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/graph/exe/TokenDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/graph/exe/TokenDbTest.java	2011-05-18 11:09:49 UTC (rev 6936)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/graph/exe/TokenDbTest.java	2011-05-19 06:14:13 UTC (rev 6937)
@@ -128,11 +128,14 @@
   public void testAvailableTransitions() {
     ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='conditionsprocess'>"
       + "  <start-state name='zero'>"
+      + "    <transition to='decision'/>"
+      + "  </start-state>"
+      + "  <decision name='decision'>"
       + "    <transition to='one'   condition='#{a==5}' />"
       + "    <transition to='two'   condition='#{a&gt;7}' />"
       + "    <transition to='three' />"
       + "    <transition to='four'  condition='#{a&lt;7}' />"
-      + "  </start-state>"
+      + "  </decision>"
       + "  <state name='one' />"
       + "  <state name='two' />"
       + "  <state name='three' />"
@@ -142,6 +145,8 @@
 
     ProcessInstance processInstance = jbpmContext.newProcessInstance("conditionsprocess");
     processInstance.getContextInstance().setVariable("a", new Integer(5));
+    Node decisionNode = processDefinition.findNode("decision");
+    processInstance.getRootToken().setNode(decisionNode);
     processInstance = saveAndReload(processInstance);
 
     Set availableTransitions = processInstance.getRootToken().getAvailableTransitions();

Modified: jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/jpdl/exe/AvailableTransitionsDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/jpdl/exe/AvailableTransitionsDbTest.java	2011-05-18 11:09:49 UTC (rev 6936)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/jpdl/exe/AvailableTransitionsDbTest.java	2011-05-19 06:14:13 UTC (rev 6937)
@@ -6,7 +6,9 @@
 
 import org.jbpm.context.exe.ContextInstance;
 import org.jbpm.db.AbstractDbTestCase;
+import org.jbpm.graph.def.Node;
 import org.jbpm.graph.def.ProcessDefinition;
+import org.jbpm.graph.def.SuperState;
 import org.jbpm.graph.def.Transition;
 import org.jbpm.graph.exe.ProcessInstance;
 
@@ -15,6 +17,9 @@
   public void testSimpleAvailableTransitions() {
     ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='conditionalavailability' initial='start'>"
       + "  <state name='start'>"
+      + "    <transition to='decision'/>"
+      + "  </state>" 
+      + "  <decision name='decision'>"
       + "    <transition name='high' to='theone'>"
       + "      <condition expression='#{a &gt; 0}' />"
       + "    </transition>"
@@ -25,13 +30,14 @@
       + "      <condition expression='#{a &lt;= 0}' />"
       + "    </transition>"
       + "    <transition name='alwaysavailable' to='theother'/>"
-      + "  </state>"
+      + "  </decision>"
       + "  <state name='theone'/>"
       + "  <state name='theother'/>"
       + "</process-definition>");
     deployProcessDefinition(processDefinition);
 
     ProcessInstance processInstance = jbpmContext.newProcessInstance("conditionalavailability");
+    processInstance.getRootToken().setNode(processDefinition.findNode("decision"));
     processInstance = saveAndReload(processInstance);
 
     Set availableTransitions = processInstance.getRootToken().getAvailableTransitions();
@@ -85,22 +91,27 @@
   }
 
   public void testSuperStateAvailableTransitions() {
+    // Conditions are no longer valid on transitions from SuperStates! 
+    
     ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='conditionalavailability' initial='start'>"
       + "  <super-state name='start'>"
       + "    <state name='go'>"
+      + "      <transition to='decn' />"
+      + "    </state>"
+      + "    <decision name='decn'>"
       + "      <transition name='inneralwaysavailable' to='../theother' />"
       + "      <transition name='five' to='../theone'>"
       + "        <condition expression='#{a == 5}' />"
       + "      </transition>"
-      + "    </state>"
+      + "    </decision>"
       + "    <transition name='high' to='theone'>"
-      + "      <condition expression='#{a &gt; 0}' />"
+//      + "      <condition expression='#{a &gt; 0}' />"
       + "    </transition>"
       + "    <transition name='medium' to='theone'>"
-      + "      <condition expression='#{a == 0}' />"
+//      + "      <condition expression='#{a == 0}' />"
       + "    </transition>"
       + "    <transition name='low' to='theother'>"
-      + "      <condition expression='#{a &lt;= 0}' />"
+//      + "      <condition expression='#{a &lt;= 0}' />"
       + "    </transition>"
       + "    <transition name='outeralwaysavailable' to='theother'/>"
       + "  </super-state>"
@@ -110,8 +121,13 @@
     deployProcessDefinition(processDefinition);
 
     ProcessInstance processInstance = jbpmContext.newProcessInstance("conditionalavailability");
+    SuperState superState = (SuperState) processDefinition.findNode("start");
+    Node decisionNode = (Node) superState.getNodesMap().get("decn");
+    processInstance.getRootToken().setNode(decisionNode);
     Set availableTransitions = processInstance.getRootToken().getAvailableTransitions();
-    assertEquals(2, availableTransitions.size());
+    // 2 from decision + 3 from superstate: see Token.addAvailableTransitionsOfNode 
+    // which is called by getAvailableTransitions();
+    assertEquals(5, availableTransitions.size());
 
     ContextInstance contextInstance = processInstance.getContextInstance();
     contextInstance.setVariable("a", new Integer(5));
@@ -123,6 +139,8 @@
     expectedTransitionNames.add("inneralwaysavailable");
     expectedTransitionNames.add("outeralwaysavailable");
     expectedTransitionNames.add("high");
+    expectedTransitionNames.add("medium");
+    expectedTransitionNames.add("low");
 
     availableTransitions = processInstance.getRootToken().getAvailableTransitions();
     assertEquals(expectedTransitionNames, getTransitionNames(availableTransitions));



More information about the jbpm-commits mailing list