1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.view.facelets.impl;
20
21 import java.util.Set;
22 import java.util.TreeSet;
23
24 import org.apache.myfaces.test.base.junit4.AbstractJsfTestCase;
25 import org.junit.Test;
26 import org.testng.Assert;
27
28 public class SectionUniqueIdCounterTest extends AbstractJsfTestCase
29 {
30 @Test
31 public void testSimpleCounter()
32 {
33 Set<String> idSet = new TreeSet<String>();
34 SectionUniqueIdCounter counter = new SectionUniqueIdCounter();
35
36 Assert.assertTrue(idSet.add(counter.generateUniqueId()));
37 Assert.assertTrue(idSet.add(counter.generateUniqueId()));
38 Assert.assertTrue(idSet.add(counter.generateUniqueId()));
39 Assert.assertTrue(idSet.add(counter.generateUniqueId()));
40 Assert.assertTrue(idSet.add(counter.generateUniqueId()));
41 Assert.assertTrue(idSet.add(counter.startUniqueIdSection()));
42 Assert.assertTrue(idSet.add(counter.generateUniqueId()));
43 Assert.assertTrue(idSet.add(counter.generateUniqueId()));
44 Assert.assertTrue(idSet.add(counter.startUniqueIdSection()));
45 Assert.assertTrue(idSet.add(counter.generateUniqueId()));
46 Assert.assertTrue(idSet.add(counter.generateUniqueId()));
47 counter.endUniqueIdSection();
48 Assert.assertTrue(idSet.add(counter.generateUniqueId()));
49 Assert.assertTrue(idSet.add(counter.generateUniqueId()));
50 Assert.assertTrue(idSet.add(counter.generateUniqueId()));
51 Assert.assertTrue(idSet.add(counter.generateUniqueId()));
52 counter.endUniqueIdSection();
53 Assert.assertTrue(idSet.add(counter.generateUniqueId()));
54 Assert.assertTrue(idSet.add(counter.generateUniqueId()));
55 Assert.assertTrue(idSet.add(counter.generateUniqueId()));
56 Assert.assertTrue(idSet.add(counter.generateUniqueId()));
57
58
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128 }
129
130 @Test
131 public void testCachedCounter()
132 {
133 String[] cache = SectionUniqueIdCounter.generateUniqueIdCache("_", 10);
134
135 SectionUniqueIdCounter counter = new SectionUniqueIdCounter("_", cache);
136 SectionUniqueIdCounter counterOrig = new SectionUniqueIdCounter("_");
137
138 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
139 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
140 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
141 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
142
143 counterOrig.startUniqueIdSection();
144 counter.startUniqueIdSection();
145
146 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
147 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
148 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
149 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
150
151 counterOrig.endUniqueIdSection();
152 counter.endUniqueIdSection();
153
154 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
155 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
156 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
157 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
158 }
159
160 @Test
161 public void testCounterExpansion()
162 {
163 SectionUniqueIdCounter counter = new SectionUniqueIdCounter();
164
165 Assert.assertEquals("1", counter.generateUniqueId());
166 Assert.assertEquals("2", counter.generateUniqueId());
167 Assert.assertEquals("2_X", counter.startUniqueIdSection("X"));
168 Assert.assertEquals("2_X_1", counter.generateUniqueId());
169 Assert.assertEquals("2_X_2",counter.generateUniqueId());
170 Assert.assertEquals("2_X_3",counter.startUniqueIdSection());
171 Assert.assertEquals("2_X_3_1",counter.generateUniqueId());
172 Assert.assertEquals("2_X_3_2",counter.generateUniqueId());
173 counter.endUniqueIdSection();
174 Assert.assertEquals("2_X_4",counter.generateUniqueId());
175 counter.endUniqueIdSection("X");
176 Assert.assertEquals("2_Y", counter.startUniqueIdSection("Y"));
177 Assert.assertEquals("2_Y_1", counter.generateUniqueId());
178 counter.endUniqueIdSection("Y");
179 Assert.assertEquals("3", counter.generateUniqueId());
180 Assert.assertEquals("4", counter.generateUniqueId());
181 }
182
183 @Test
184 public void testCounterExpansion2()
185 {
186 SectionUniqueIdCounter counter = new SectionUniqueIdCounter();
187
188 Assert.assertEquals("1", counter.generateUniqueId());
189 Assert.assertEquals("2",counter.startUniqueIdSection());
190 Assert.assertEquals("2_1",counter.startUniqueIdSection());
191 Assert.assertEquals("2_1_1", counter.generateUniqueId());
192 counter.endUniqueIdSection();
193 Assert.assertEquals("2_2", counter.generateUniqueId());
194 counter.endUniqueIdSection();
195 Assert.assertEquals("3", counter.generateUniqueId());
196
197 Assert.assertEquals("3_X", counter.startUniqueIdSection("X"));
198 Assert.assertEquals("3_X_1", counter.generateUniqueId());
199 Assert.assertEquals("3_X_2",counter.generateUniqueId());
200 Assert.assertEquals("3_X_3",counter.startUniqueIdSection());
201 Assert.assertEquals("3_X_3_1",counter.generateUniqueId());
202 Assert.assertEquals("3_X_3_2",counter.generateUniqueId());
203 counter.endUniqueIdSection();
204 Assert.assertEquals("3_X_4",counter.generateUniqueId());
205 counter.endUniqueIdSection("X");
206 Assert.assertEquals("3_Y", counter.startUniqueIdSection("Y"));
207 Assert.assertEquals("3_Y_1", counter.generateUniqueId());
208 counter.endUniqueIdSection("Y");
209 Assert.assertEquals("4",counter.startUniqueIdSection());
210 counter.endUniqueIdSection();
211 Assert.assertEquals("5", counter.generateUniqueId());
212 Assert.assertEquals("6", counter.generateUniqueId());
213 }
214
215 @Test
216 public void testCounterExpansion3()
217 {
218 SectionUniqueIdCounter counter = new SectionUniqueIdCounter();
219
220 Assert.assertEquals("1",counter.startUniqueIdSection());
221 Assert.assertEquals("1_1", counter.generateUniqueId());
222 Assert.assertEquals("1_2",counter.startUniqueIdSection());
223 Assert.assertEquals("1_2_1",counter.startUniqueIdSection());
224 Assert.assertEquals("1_2_1_1", counter.generateUniqueId());
225 counter.endUniqueIdSection();
226 Assert.assertEquals("1_2_2", counter.generateUniqueId());
227 counter.endUniqueIdSection();
228 Assert.assertEquals("1_3", counter.generateUniqueId());
229
230 Assert.assertEquals("1_3_X", counter.startUniqueIdSection("X"));
231 Assert.assertEquals("1_3_X_1", counter.generateUniqueId());
232 Assert.assertEquals("1_3_X_2",counter.generateUniqueId());
233 Assert.assertEquals("1_3_X_3",counter.startUniqueIdSection());
234 Assert.assertEquals("1_3_X_3_1",counter.generateUniqueId());
235 Assert.assertEquals("1_3_X_3_2",counter.generateUniqueId());
236 counter.endUniqueIdSection();
237 Assert.assertEquals("1_3_X_4",counter.generateUniqueId());
238 counter.endUniqueIdSection("X");
239 Assert.assertEquals("1_3_Y", counter.startUniqueIdSection("Y"));
240 Assert.assertEquals("1_3_Y_1", counter.generateUniqueId());
241 counter.endUniqueIdSection("Y");
242 Assert.assertEquals("1_4",counter.startUniqueIdSection());
243 counter.endUniqueIdSection();
244 Assert.assertEquals("1_5", counter.generateUniqueId());
245 Assert.assertEquals("1_6", counter.generateUniqueId());
246 counter.endUniqueIdSection();
247 }
248 }