1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.scxml2;
18
19 import java.util.Set;
20
21 import org.apache.commons.scxml2.model.EnterableState;
22 import org.junit.Assert;
23 import org.junit.Test;
24
25
26
27
28 public class NamespacePrefixedXPathsTest {
29
30
31
32
33
34 @Test
35 public void testNamespacePrefixedXPathsJexl() throws Exception {
36 SCXMLExecutor exec = SCXMLTestHelper.getExecutor("org/apache/commons/scxml2/env/jexl/datamodel-03.xml");
37 exec.go();
38 runtest(exec);
39 }
40
41
42 private void runtest(SCXMLExecutor exec) throws Exception {
43
44 Set<EnterableState> currentStates = exec.getStatus().getStates();
45 Assert.assertEquals(1, currentStates.size());
46 Assert.assertEquals("ten", currentStates.iterator().next().getId());
47
48
49 currentStates = SCXMLTestHelper.fireEvent(exec, "done.state.ten");
50 Assert.assertEquals(1, currentStates.size());
51 Assert.assertEquals("twenty", currentStates.iterator().next().getId());
52
53
54 Double retval = (Double) exec.getGlobalContext().get("retval");
55 Assert.assertEquals(Double.valueOf("11"), retval);
56
57
58 currentStates = SCXMLTestHelper.fireEvent(exec, "done.state.twenty");
59 Assert.assertEquals(1, currentStates.size());
60 Assert.assertEquals("thirty", currentStates.iterator().next().getId());
61 exec = SCXMLTestHelper.testInstanceSerializability(exec);
62
63
64 String retvalstr = (String) exec.getGlobalContext().get("retval");
65 Assert.assertEquals("Equal to 20", retvalstr);
66
67
68 currentStates = SCXMLTestHelper.fireEvent(exec, "done.state.thirty");
69 Assert.assertEquals(1, currentStates.size());
70 Assert.assertEquals("forty", currentStates.iterator().next().getId());
71
72 currentStates = SCXMLTestHelper.fireEvent(exec, "done.state.forty");
73 Assert.assertEquals(1, currentStates.size());
74 Assert.assertEquals("fifty", currentStates.iterator().next().getId());
75
76 currentStates = SCXMLTestHelper.fireEvent(exec, "done.state.fifty");
77 Assert.assertEquals(1, currentStates.size());
78 Assert.assertEquals("sixty", (currentStates.iterator().
79 next()).getId());
80
81 currentStates = SCXMLTestHelper.fireEvent(exec, "done.state.sixty");
82 Assert.assertEquals(1, currentStates.size());
83 Assert.assertEquals("seventy", currentStates.iterator().next().getId());
84
85
86 Assert.assertTrue(exec.getStatus().isFinal());
87 }
88 }
89