[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>7}' />"
+ " <transition to='three' />"
+ " <transition to='four' condition='#{a<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 > 0}' />"
+ " </transition>"
@@ -25,13 +30,14 @@
+ " <condition expression='#{a <= 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 > 0}' />"
+// + " <condition expression='#{a > 0}' />"
+ " </transition>"
+ " <transition name='medium' to='theone'>"
- + " <condition expression='#{a == 0}' />"
+// + " <condition expression='#{a == 0}' />"
+ " </transition>"
+ " <transition name='low' to='theother'>"
- + " <condition expression='#{a <= 0}' />"
+// + " <condition expression='#{a <= 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