1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.scxml2.model;
18
19 import org.apache.commons.scxml2.SCXMLExecutor;
20 import org.apache.commons.scxml2.SCXMLTestHelper;
21 import org.junit.Assert;
22 import org.junit.Test;
23
24 public class ParallelTest {
25
26 @Test
27 public void testParallel01() throws Exception {
28 SCXMLExecutor exec = SCXMLTestHelper.getExecutor("org/apache/commons/scxml2/model/parallel-01.xml");
29 exec.go();
30 SCXMLTestHelper.assertPostTriggerState(exec, "foo", "end");
31 }
32
33 @Test
34 public void testParallel02() throws Exception {
35 SCXMLExecutor exec = SCXMLTestHelper.getExecutor("org/apache/commons/scxml2/model/parallel-02.xml");
36 exec.go();
37 SCXMLTestHelper.assertPostTriggerStates(exec, "dummy.event", new String[] { "state01", "state02" });
38 SCXMLTestHelper.assertPostTriggerState(exec, "event1", "state1");
39 }
40
41 @Test
42 public void testParallel03() throws Exception {
43 SCXMLExecutor exec = SCXMLTestHelper.getExecutor("org/apache/commons/scxml2/model/parallel-03.xml");
44 exec.go();
45 SCXMLTestHelper.assertPostTriggerStates(exec, "dummy.event", new String[] { "para11", "para21" });
46 Object count = exec.getEvaluator().eval(exec.getGlobalContext(),"Data('string(root/root/count)')");
47 Assert.assertEquals("5.0", count.toString());
48 SCXMLTestHelper.assertPostTriggerStates(exec, "foo", new String[] { "para12", "para21" });
49 count = exec.getEvaluator().eval(exec.getGlobalContext(),"Data('string(root/root/count)')");
50 Assert.assertEquals("7.0", count.toString());
51 SCXMLTestHelper.assertPostTriggerState(exec, "bar", "end");
52 count = exec.getEvaluator().eval(exec.getGlobalContext(),"Data('string(root/root/count)')");
53 Assert.assertEquals("14.0", count.toString());
54 }
55 }