1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.model;
21
22
23 import org.junit.jupiter.api.Assertions;
24 import org.junit.jupiter.api.BeforeAll;
25 import org.junit.jupiter.api.Test;
26
27 import javax.swing.tree.DefaultMutableTreeNode;
28
29 public class ExpandedStateUnitTest {
30
31 private static final DefaultMutableTreeNode ROOT = new DefaultMutableTreeNode("root");
32 private static final DefaultMutableTreeNode A = new DefaultMutableTreeNode("a");
33 private static final DefaultMutableTreeNode B = new DefaultMutableTreeNode("b");
34 private static final DefaultMutableTreeNode C = new DefaultMutableTreeNode("c");
35 private static final DefaultMutableTreeNode A1 = new DefaultMutableTreeNode("a1");
36 private static final DefaultMutableTreeNode A2 = new DefaultMutableTreeNode("a2");
37 private static final DefaultMutableTreeNode A3 = new DefaultMutableTreeNode("a3");
38 private static final DefaultMutableTreeNode B1 = new DefaultMutableTreeNode("b1");
39 private static final DefaultMutableTreeNode B2 = new DefaultMutableTreeNode("b2");
40 private static final DefaultMutableTreeNode B3 = new DefaultMutableTreeNode("b3");
41 private static final DefaultMutableTreeNode C1 = new DefaultMutableTreeNode("c1");
42 private static final DefaultMutableTreeNode C2 = new DefaultMutableTreeNode("c2");
43 private static final DefaultMutableTreeNode C3 = new DefaultMutableTreeNode("c3");
44
45 @BeforeAll
46 public static void setup() {
47 ROOT.add(A);
48 ROOT.add(B);
49 ROOT.add(C);
50 A.add(A1);
51 A.add(A2);
52 A.add(A3);
53 B.add(B1);
54 B.add(B2);
55 B.add(B3);
56 C.add(C1);
57 C.add(C2);
58 C.add(C3);
59 }
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91 @Test
92 public void test() {
93
94 final ExpandedState state = new ExpandedState(2);
95
96 final TreePath root = new TreePath(ROOT);
97 final TreePath a = new TreePath(A);
98 final TreePath b = new TreePath(B);
99 final TreePath c = new TreePath(C);
100 final TreePath a1 = new TreePath(A1);
101 final TreePath a2 = new TreePath(A2);
102 final TreePath a3 = new TreePath(A3);
103 final TreePath b1 = new TreePath(B1);
104 final TreePath b2 = new TreePath(B2);
105 final TreePath b3 = new TreePath(B3);
106 final TreePath c1 = new TreePath(C1);
107 final TreePath c2 = new TreePath(C2);
108 final TreePath c3 = new TreePath(C3);
109
110 Assertions.assertTrue(state.isExpanded(ROOT));
111
112 Assertions.assertTrue(state.isExpanded(root));
113 Assertions.assertTrue(state.isExpanded(a));
114 Assertions.assertTrue(state.isExpanded(b));
115 Assertions.assertTrue(state.isExpanded(c));
116 Assertions.assertFalse(state.isExpanded(a1));
117 Assertions.assertFalse(state.isExpanded(a2));
118 Assertions.assertFalse(state.isExpanded(a3));
119 Assertions.assertFalse(state.isExpanded(b1));
120 Assertions.assertFalse(state.isExpanded(b2));
121 Assertions.assertFalse(state.isExpanded(b3));
122 Assertions.assertFalse(state.isExpanded(c1));
123 Assertions.assertFalse(state.isExpanded(c2));
124 Assertions.assertFalse(state.isExpanded(c3));
125
126 state.expand(a);
127 state.expand(a1);
128 state.expand(a2);
129 state.expand(c);
130
131 state.collapse(root);
132 state.collapse(b);
133 state.collapse(b3);
134 state.collapse(a2);
135 state.collapse(c);
136
137 Assertions.assertFalse(state.isExpanded(root));
138 Assertions.assertTrue(state.isExpanded(a));
139 Assertions.assertFalse(state.isExpanded(b));
140 Assertions.assertFalse(state.isExpanded(c));
141 Assertions.assertTrue(state.isExpanded(a1));
142 Assertions.assertFalse(state.isExpanded(a2));
143 Assertions.assertFalse(state.isExpanded(a3));
144 Assertions.assertFalse(state.isExpanded(b1));
145 Assertions.assertFalse(state.isExpanded(b2));
146 Assertions.assertFalse(state.isExpanded(b3));
147 Assertions.assertFalse(state.isExpanded(c1));
148 Assertions.assertFalse(state.isExpanded(c2));
149 Assertions.assertFalse(state.isExpanded(c3));
150 Assertions.assertEquals(1, state.getExpandedSet().size());
151 Assertions.assertEquals(3, state.getCollapsedSet().size());
152
153
154 state.expand(1);
155
156 Assertions.assertTrue(state.isExpanded(root));
157 Assertions.assertTrue(state.isExpanded(a));
158 Assertions.assertFalse(state.isExpanded(b));
159 Assertions.assertFalse(state.isExpanded(c));
160 Assertions.assertTrue(state.isExpanded(a1));
161 Assertions.assertFalse(state.isExpanded(a2));
162 Assertions.assertFalse(state.isExpanded(a3));
163 Assertions.assertFalse(state.isExpanded(b1));
164 Assertions.assertFalse(state.isExpanded(b2));
165 Assertions.assertFalse(state.isExpanded(b3));
166 Assertions.assertFalse(state.isExpanded(c1));
167 Assertions.assertFalse(state.isExpanded(c2));
168 Assertions.assertFalse(state.isExpanded(c3));
169 Assertions.assertEquals(1, state.getExpandedSet().size());
170 Assertions.assertEquals(2, state.getCollapsedSet().size());
171
172
173 state.collapse(3);
174
175 Assertions.assertTrue(state.isExpanded(root));
176 Assertions.assertTrue(state.isExpanded(a));
177 Assertions.assertFalse(state.isExpanded(b));
178 Assertions.assertFalse(state.isExpanded(c));
179 Assertions.assertFalse(state.isExpanded(a1));
180 Assertions.assertFalse(state.isExpanded(a2));
181 Assertions.assertFalse(state.isExpanded(a3));
182 Assertions.assertFalse(state.isExpanded(b1));
183 Assertions.assertFalse(state.isExpanded(b2));
184 Assertions.assertFalse(state.isExpanded(b3));
185 Assertions.assertFalse(state.isExpanded(c1));
186 Assertions.assertFalse(state.isExpanded(c2));
187 Assertions.assertFalse(state.isExpanded(c3));
188 Assertions.assertEquals(0, state.getExpandedSet().size());
189 Assertions.assertEquals(2, state.getCollapsedSet().size());
190
191
192 state.expand(2);
193
194 Assertions.assertTrue(state.isExpanded(root));
195 Assertions.assertTrue(state.isExpanded(a));
196 Assertions.assertTrue(state.isExpanded(b));
197 Assertions.assertTrue(state.isExpanded(c));
198 Assertions.assertFalse(state.isExpanded(a1));
199 Assertions.assertFalse(state.isExpanded(a2));
200 Assertions.assertFalse(state.isExpanded(a3));
201 Assertions.assertFalse(state.isExpanded(b1));
202 Assertions.assertFalse(state.isExpanded(b2));
203 Assertions.assertFalse(state.isExpanded(b3));
204 Assertions.assertFalse(state.isExpanded(c1));
205 Assertions.assertFalse(state.isExpanded(c2));
206 Assertions.assertFalse(state.isExpanded(c3));
207 Assertions.assertEquals(0, state.getExpandedSet().size());
208 Assertions.assertEquals(0, state.getCollapsedSet().size());
209
210
211 state.collapse(2);
212
213 Assertions.assertTrue(state.isExpanded(root));
214 Assertions.assertFalse(state.isExpanded(a));
215 Assertions.assertFalse(state.isExpanded(b));
216 Assertions.assertFalse(state.isExpanded(c));
217 Assertions.assertFalse(state.isExpanded(a1));
218 Assertions.assertFalse(state.isExpanded(a2));
219 Assertions.assertFalse(state.isExpanded(a3));
220 Assertions.assertFalse(state.isExpanded(b1));
221 Assertions.assertFalse(state.isExpanded(b2));
222 Assertions.assertFalse(state.isExpanded(b3));
223 Assertions.assertFalse(state.isExpanded(c1));
224 Assertions.assertFalse(state.isExpanded(c2));
225 Assertions.assertFalse(state.isExpanded(c3));
226 Assertions.assertEquals(0, state.getExpandedSet().size());
227 Assertions.assertEquals(0, state.getCollapsedSet().size());
228
229
230 state.expand(a);
231 state.expand(b);
232 state.expand(2);
233
234 Assertions.assertTrue(state.isExpanded(root));
235 Assertions.assertTrue(state.isExpanded(a));
236 Assertions.assertTrue(state.isExpanded(b));
237 Assertions.assertTrue(state.isExpanded(c));
238 Assertions.assertFalse(state.isExpanded(a1));
239 Assertions.assertFalse(state.isExpanded(a2));
240 Assertions.assertFalse(state.isExpanded(a3));
241 Assertions.assertFalse(state.isExpanded(b1));
242 Assertions.assertFalse(state.isExpanded(b2));
243 Assertions.assertFalse(state.isExpanded(b3));
244 Assertions.assertFalse(state.isExpanded(c1));
245 Assertions.assertFalse(state.isExpanded(c2));
246 Assertions.assertFalse(state.isExpanded(c3));
247 Assertions.assertEquals(0, state.getExpandedSet().size());
248 Assertions.assertEquals(0, state.getCollapsedSet().size());
249
250
251 state.collapse(a);
252 state.collapse(b);
253 state.collapse(2);
254
255 Assertions.assertTrue(state.isExpanded(root));
256 Assertions.assertFalse(state.isExpanded(a));
257 Assertions.assertFalse(state.isExpanded(b));
258 Assertions.assertFalse(state.isExpanded(c));
259 Assertions.assertFalse(state.isExpanded(a1));
260 Assertions.assertFalse(state.isExpanded(a2));
261 Assertions.assertFalse(state.isExpanded(a3));
262 Assertions.assertFalse(state.isExpanded(b1));
263 Assertions.assertFalse(state.isExpanded(b2));
264 Assertions.assertFalse(state.isExpanded(b3));
265 Assertions.assertFalse(state.isExpanded(c1));
266 Assertions.assertFalse(state.isExpanded(c2));
267 Assertions.assertFalse(state.isExpanded(c3));
268 Assertions.assertEquals(0, state.getExpandedSet().size());
269 Assertions.assertEquals(0, state.getCollapsedSet().size());
270
271 state.expand(2);
272 state.expand(b);
273 state.expand(c1);
274 state.collapseAll();
275 Assertions.assertFalse(state.isExpanded(root));
276 Assertions.assertFalse(state.isExpanded(a));
277 Assertions.assertFalse(state.isExpanded(b));
278 Assertions.assertFalse(state.isExpanded(c));
279 Assertions.assertFalse(state.isExpanded(a1));
280 Assertions.assertFalse(state.isExpanded(a2));
281 Assertions.assertFalse(state.isExpanded(a3));
282 Assertions.assertFalse(state.isExpanded(b1));
283 Assertions.assertFalse(state.isExpanded(b2));
284 Assertions.assertFalse(state.isExpanded(b3));
285 Assertions.assertFalse(state.isExpanded(c1));
286 Assertions.assertFalse(state.isExpanded(c2));
287 Assertions.assertFalse(state.isExpanded(c3));
288 Assertions.assertEquals(0, state.getExpandedSet().size());
289 Assertions.assertEquals(0, state.getCollapsedSet().size());
290
291 state.expand(2);
292 state.expand(b);
293 state.expand(c1);
294 state.expandAll();
295 Assertions.assertTrue(state.isExpanded(root));
296 Assertions.assertTrue(state.isExpanded(a));
297 Assertions.assertTrue(state.isExpanded(b));
298 Assertions.assertTrue(state.isExpanded(c));
299 Assertions.assertTrue(state.isExpanded(a1));
300 Assertions.assertTrue(state.isExpanded(a2));
301 Assertions.assertTrue(state.isExpanded(a3));
302 Assertions.assertTrue(state.isExpanded(b1));
303 Assertions.assertTrue(state.isExpanded(b2));
304 Assertions.assertTrue(state.isExpanded(b3));
305 Assertions.assertTrue(state.isExpanded(c1));
306 Assertions.assertTrue(state.isExpanded(c2));
307 Assertions.assertTrue(state.isExpanded(c3));
308 Assertions.assertEquals(0, state.getExpandedSet().size());
309 Assertions.assertEquals(0, state.getCollapsedSet().size());
310
311 state.expand(2);
312 state.expand(b);
313 state.expand(c1);
314 state.collapseAllButRoot();
315 Assertions.assertTrue(state.isExpanded(root));
316 Assertions.assertFalse(state.isExpanded(a));
317 Assertions.assertFalse(state.isExpanded(b));
318 Assertions.assertFalse(state.isExpanded(c));
319 Assertions.assertFalse(state.isExpanded(a1));
320 Assertions.assertFalse(state.isExpanded(a2));
321 Assertions.assertFalse(state.isExpanded(a3));
322 Assertions.assertFalse(state.isExpanded(b1));
323 Assertions.assertFalse(state.isExpanded(b2));
324 Assertions.assertFalse(state.isExpanded(b3));
325 Assertions.assertFalse(state.isExpanded(c1));
326 Assertions.assertFalse(state.isExpanded(c2));
327 Assertions.assertFalse(state.isExpanded(c3));
328 Assertions.assertEquals(0, state.getExpandedSet().size());
329 Assertions.assertEquals(0, state.getCollapsedSet().size());
330
331
332
333 state.expand(A);
334 Assertions.assertTrue(state.isExpanded(A));
335 state.collapse(A);
336 Assertions.assertFalse(state.isExpanded(A));
337
338
339 }
340 }