KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jbpm > jpdl > patterns > Wfp01SequenceTest


1 package org.jbpm.jpdl.patterns;
2
3 import junit.framework.TestCase;
4
5 import org.jbpm.graph.def.ProcessDefinition;
6 import org.jbpm.graph.exe.ProcessInstance;
7 import org.jbpm.graph.exe.Token;
8
9 /**
10  * http://is.tm.tue.nl/research/patterns/download/swf/pat_1.swf
11  */

12 public class Wfp01SequenceTest extends TestCase {
13
14   public void testSequence() {
15     // create a simple definition with 3 states in sequence
16
ProcessDefinition pd = ProcessDefinition.parseXmlString(
17       "<process-definition>" +
18       " <start-state name='start'>" +
19       " <transition to='a' />" +
20       " </start-state>" +
21       " <state name='a'>" +
22       " <transition to='b' />" +
23       " </state>" +
24       " <state name='b'>" +
25       " <transition to='c' />" +
26       " </state>" +
27       " <state name='c'>" +
28       " <transition to='end' />" +
29       " </state>" +
30       " <end-state name='end'/>" +
31       "</process-definition>"
32     );
33
34     ProcessInstance pi = new ProcessInstance( pd );
35     pi.signal();
36     Token token = pi.getRootToken();
37     assertSame( pd.getNode("a"), token.getNode() );
38     
39     token.signal();
40     assertSame( pd.getNode("b"), token.getNode() );
41
42     token.signal();
43     assertSame( pd.getNode("c"), token.getNode() );
44
45     token.signal();
46     assertSame( pd.getNode("end"), token.getNode() );
47   }
48 }
49
Popular Tags