1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.scxml.model;
18
19 import java.util.ArrayList;
20 import java.util.List;
21
22 import junit.framework.Test;
23 import junit.framework.TestCase;
24 import junit.framework.TestSuite;
25
26 public class StateTest extends TestCase {
27
28 public StateTest(String testName) {
29 super(testName);
30 }
31
32 public static Test suite() {
33 return new TestSuite(StateTest.class);
34 }
35
36 public static void main(String args[]) {
37 String[] testCaseName = { StateTest.class.getName()};
38 junit.textui.TestRunner.main(testCaseName);
39 }
40
41 private State state;
42
43 public void setUp() {
44 state = new State();
45 }
46
47 public void testGetTransitionsListNull() {
48 assertNull(state.getTransitionsList("event"));
49 }
50
51 public void testGetTransitionsList() {
52 List values = new ArrayList();
53
54 state.getTransitions().put("event", values);
55
56 assertNotNull(state.getTransitionsList("event"));
57 }
58
59 public void testAddTransitionDoesNotContainKey() {
60 Transition transition = new Transition();
61 transition.setEvent("event");
62
63 state.addTransition(transition);
64
65 List events = (List)state.getTransitions().get("event");
66
67 assertEquals(1, events.size());
68 assertEquals("event", ((Transition)events.get(0)).getEvent());
69 }
70
71 public void testAddTransitionContainKey() {
72 Transition transition1 = new Transition();
73 transition1.setEvent("event");
74
75 Transition transition2 = new Transition();
76 transition2.setEvent("event");
77
78 state.addTransition(transition1);
79 state.addTransition(transition2);
80
81 List events = (List)state.getTransitions().get("event");
82
83 assertEquals(2, events.size());
84 }
85
86 public void testGetTransitionList() {
87 Transition transition1 = new Transition();
88 transition1.setEvent("event");
89
90 Transition transition2 = new Transition();
91 transition2.setEvent("event");
92
93 state.addTransition(transition1);
94 state.addTransition(transition2);
95
96 List events = state.getTransitionsList();
97
98 assertEquals(2, events.size());
99 }
100
101 public void testHasHistoryEmpty() {
102 assertFalse(state.hasHistory());
103 }
104
105 public void testHasHistory() {
106 History history = new History();
107
108 state.addHistory(history);
109
110 assertTrue(state.hasHistory());
111 }
112
113 public void testIsSimple() {
114 assertTrue(state.isSimple());
115 }
116
117 public void testIsSimpleParallel() {
118 Parallel parallel = new Parallel();
119
120 state.setParallel(parallel);
121
122 assertFalse(state.isSimple());
123 }
124
125 public void testIsSimpleHasChildren() {
126 State state1 = new State();
127
128 state.addChild(state1);
129
130 assertFalse(state.isSimple());
131 }
132
133 public void testIsCompositeFalse() {
134 assertFalse(state.isComposite());
135 }
136
137 public void testIsCompositeParallel() {
138 Parallel parallel = new Parallel();
139
140 state.setParallel(parallel);
141
142 assertTrue(state.isComposite());
143 }
144
145 public void testIsCompositeHasChildren() {
146 State state1 = new State();
147
148 state.addChild(state1);
149
150 assertTrue(state.isComposite());
151 }
152
153 public void testIsRegion() {
154 state.setParent(new Parallel());
155
156 assertTrue(state.isRegion());
157 }
158
159 public void testIsRegionNotParallel() {
160 state.setParent(new State());
161
162 assertFalse(state.isRegion());
163 }
164
165 public void testIsOrthogonal() {
166 Parallel parallel = new Parallel();
167
168 state.setParallel(parallel);
169
170 assertTrue(state.isOrthogonal());
171 }
172
173 public void testIsOrthogonalFalse() {
174 assertFalse(state.isOrthogonal());
175 }
176
177 }