1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.scxml2.issues;
18
19 import java.util.Set;
20
21 import org.apache.commons.scxml2.SCXMLExecutor;
22 import org.apache.commons.scxml2.SCXMLTestHelper;
23 import org.apache.commons.scxml2.model.EnterableState;
24
25 import org.junit.Assert;
26 import org.junit.Test;
27
28
29
30
31
32 public class Issue62Test {
33
34 @Test
35 public void test01issue62() throws Exception {
36 SCXMLExecutor exec = SCXMLTestHelper.getExecutor("org/apache/commons/scxml2/issues/issue62-01.xml");
37 exec.go();
38 Set<EnterableState> currentStates = exec.getStatus().getStates();
39 Assert.assertEquals(1, currentStates.size());
40 Assert.assertEquals("s1.1", currentStates.iterator().next().getId());
41 SCXMLTestHelper.assertPostTriggerState(exec, "foo", "s1.1");
42 }
43
44 @Test
45 public void test02issue62() throws Exception {
46 SCXMLExecutor exec = SCXMLTestHelper.getExecutor("org/apache/commons/scxml2/issues/issue62-02.xml");
47 exec.go();
48 fragmenttest(exec);
49 }
50
51 @Test
52 public void test03issue62() throws Exception {
53 SCXMLExecutor exec = SCXMLTestHelper.getExecutor("org/apache/commons/scxml2/issues/issue62-03.xml");
54 exec.go();
55 fragmenttest(exec);
56 }
57
58 private void fragmenttest(SCXMLExecutor exec) throws Exception {
59 Set<EnterableState> currentStates = exec.getStatus().getStates();
60 Assert.assertEquals(1, currentStates.size());
61 Assert.assertEquals("s1", currentStates.iterator().next().getId());
62 SCXMLTestHelper.assertPostTriggerState(exec, "foo", "e1.1.1");
63 SCXMLTestHelper.assertPostTriggerState(exec, "bar", "e1.1.2");
64 SCXMLTestHelper.assertPostTriggerState(exec, "baz", "s3");
65 Assert.assertTrue(exec.getStatus().isFinal());
66 }
67 }
68