|
@@ -1,316 +1,316 @@ |
1 |
|
- |
// This Source Code is in the Public Domain per: http://unlicense.org |
2 |
|
- |
package org.litesoft.GWT.client.widgets.nonpublic; |
3 |
|
- |
|
4 |
|
- |
import org.litesoft.*; |
5 |
|
- |
import org.litesoft.commonfoundation.typeutils.*; |
6 |
|
- |
import org.litesoft.core.simpletypes.*; |
7 |
|
- |
|
8 |
|
- |
import junit.framework.*; |
9 |
|
- |
|
10 |
|
- |
import java.util.*; |
11 |
|
- |
|
12 |
|
- |
import static org.litesoft.GWT.client.widgets.nonpublic.InjectionPointSelectorController.*; |
13 |
|
- |
|
14 |
|
- |
public class InjectionPointSelectorControllerTest extends TestCasePlus { |
15 |
|
- |
private TS m1st = new TS( "1st" ); |
16 |
|
- |
private TS m2nd = new TS( "2nd" ); |
17 |
|
- |
private TS m3rd = new TS( "3rd" ); |
18 |
|
- |
private TS m4th = new TS( "4th" ); |
19 |
|
- |
private TS m5th = new TS( "5th" ); |
20 |
|
- |
private TS m6th = new TS( "6th" ); |
21 |
|
- |
private TS m7th = new TS( "7th" ); |
22 |
|
- |
private TS m8th = new TS( "8th" ); |
23 |
|
- |
|
24 |
|
- |
private Top<TS> mTop1st = Top.create( m1st ); |
25 |
|
- |
|
26 |
|
- |
private Reference<TS> m1stReference = Reference.create( 2, m1st ); |
27 |
|
- |
private Reference<TS> m2ndReference = Reference.create( 2, m2nd ); |
28 |
|
- |
private Reference<TS> m3rdReference = Reference.create( 2, m3rd ); |
29 |
|
- |
private Reference<TS> m4thReference = Reference.create( 2, m4th ); |
30 |
|
- |
private Reference<TS> m5thReference = Reference.create( 2, m5th ); |
31 |
|
- |
private Reference<TS> m6thReference = Reference.create( 2, m6th ); |
32 |
|
- |
private Reference<TS> m7thReference = Reference.create( 2, m7th ); |
33 |
|
- |
private Reference<TS> m8thReference = Reference.create( 2, m8th ); |
34 |
|
- |
|
35 |
|
- |
private There<TS> m1stThere2nd = There.create( m1st, m2nd ); |
36 |
|
- |
private There<TS> m2ndThere3rd = There.create( m2nd, m3rd ); |
37 |
|
- |
// private There<TS> m3rdThere4th = There.create( m3rd, m4th ); |
38 |
|
- |
private There<TS> m4thThere5th = There.create( m4th, m5th ); |
39 |
|
- |
private There<TS> m5thThere6th = There.create( m5th, m6th ); |
40 |
|
- |
private There<TS> m6thThere7th = There.create( m6th, m7th ); |
41 |
|
- |
private There<TS> m7thThere8th = There.create( m7th, m8th ); |
42 |
|
- |
|
43 |
|
- |
public static TestSuite suite() { |
44 |
|
- |
return new TestSuite( InjectionPointSelectorControllerTest.class ); |
45 |
|
- |
} |
46 |
|
- |
|
47 |
|
- |
public InjectionPointSelectorControllerTest( String name ) { |
48 |
|
- |
super( name ); |
49 |
|
- |
} |
50 |
|
- |
|
51 |
|
- |
public static void main( String[] args ) { |
52 |
|
- |
junit.textui.TestRunner.run( suite() ); |
53 |
|
- |
} |
54 |
|
- |
|
55 |
|
- |
private void assertEquals( DrillDownSet pActual, ViewSet pHomeSet, boolean pSomethingBetweenHomeAndPreviousSets, ViewSet pPreviousSet, ViewSet pCurrentSet ) { |
56 |
|
- |
assertEquals( new DrillDownSet( pHomeSet, pSomethingBetweenHomeAndPreviousSets, pPreviousSet, pCurrentSet ), pActual ); |
57 |
|
- |
} |
58 |
|
- |
|
59 |
|
- |
private void assertEquals( DrillDownSet pActual, ViewSet pHomeSet, ViewSet pPreviousSet, ViewSet pCurrentSet ) { |
60 |
|
- |
assertEquals( pActual, pHomeSet, false, pPreviousSet, pCurrentSet ); |
61 |
|
- |
} |
62 |
|
- |
|
63 |
|
- |
private void assertEquals( DrillDownSet pActual, ViewSet pHomeSet, ViewSet pCurrentSet ) { |
64 |
|
- |
assertEquals( pActual, pHomeSet, null, pCurrentSet ); |
65 |
|
- |
} |
66 |
|
- |
|
67 |
|
- |
private void assertEquals( DrillDownSet pActual, ViewSet pCurrentSet ) { |
68 |
|
- |
assertEquals( pActual, null, pCurrentSet ); |
69 |
|
- |
} |
70 |
|
- |
|
71 |
|
- |
private void assertSelectedBetweens( List<Between<TS>> pActual, Between<TS>... pExpected ) { |
72 |
|
- |
if ( !areEqual( pActual, pExpected ) ) { |
73 |
|
- |
failNotEquals( null, Arrays.asList( pExpected ), pActual ); |
74 |
|
- |
} |
75 |
|
- |
} |
76 |
|
- |
|
77 |
|
- |
private boolean areEqual( List<Between<TS>> pActual, Between<TS>[] pExpected ) { |
78 |
|
- |
if ( pActual.size() != pExpected.length ) { |
79 |
|
- |
return false; |
80 |
|
- |
} |
81 |
|
- |
for ( int i = 0; i < pExpected.length; i++ ) { |
82 |
|
- |
if ( !pExpected[i].equals( pActual.get( i ) ) ) { |
83 |
|
- |
return false; |
84 |
|
- |
} |
85 |
|
- |
} |
86 |
|
- |
return true; |
87 |
|
- |
} |
88 |
|
- |
|
89 |
|
- |
private static class TS implements Synopsisable { |
90 |
|
- |
private String mLines; |
91 |
|
- |
|
92 |
|
- |
private TS( String... pLines ) { |
93 |
|
- |
switch ( pLines.length ) { |
94 |
|
- |
default: |
95 |
|
- |
mLines = "What the:\n" + Arrays.asList( pLines ); |
96 |
|
- |
break; |
97 |
|
- |
case 1: |
98 |
|
- |
mLines = pLines[0] + "\n"; |
99 |
|
- |
break; |
100 |
|
- |
case 2: |
101 |
|
- |
mLines = pLines[0] + "\n" + pLines[1]; |
102 |
|
- |
break; |
103 |
|
- |
} |
104 |
|
- |
} |
105 |
|
- |
|
106 |
|
- |
@Override |
107 |
|
- |
public String getSynopsis( int pLines ) { |
108 |
|
- |
assertEquals( "TS: " + Strings.replace( mLines, '\n', "\\n" ), 2, pLines ); |
109 |
|
- |
return mLines; |
110 |
|
- |
} |
111 |
|
- |
} |
112 |
|
- |
|
113 |
|
- |
public void test_updateDrillDownSetWhenEntriesVisibleChanges() |
114 |
|
- |
throws Exception { |
115 |
|
- |
List<Between<TS>> zSelectedBetweens = new ArrayList<Between<TS>>(); |
116 |
|
- |
|
117 |
|
- |
InjectionPointSelectorController<TS> zController = new InjectionPointSelectorController<TS>( 2, null, m1st ); |
118 |
|
- |
|
119 |
|
- |
assertNull( zController.updateDrillDownSetWhenEntriesVisibleChanges( 2, zSelectedBetweens ) ); |
120 |
|
- |
assertSelectedBetweens( zSelectedBetweens ); |
121 |
|
- |
|
122 |
|
- |
assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 3, zSelectedBetweens ), // |
123 |
|
- |
new ViewSet( mTop1st, // |
124 |
|
- |
m1stReference, // |
125 |
|
- |
Bottom.create( m1st ) ) // |
126 |
|
- |
); |
127 |
|
- |
assertSelectedBetweens( zSelectedBetweens ); |
128 |
|
- |
|
129 |
|
- |
zController = new InjectionPointSelectorController<TS>( 2, null, m1st, m2nd ); |
130 |
|
- |
|
131 |
|
- |
assertNull( zController.updateDrillDownSetWhenEntriesVisibleChanges( 4, zSelectedBetweens ) ); |
132 |
|
- |
assertSelectedBetweens( zSelectedBetweens ); |
133 |
|
- |
|
134 |
|
- |
assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 5, zSelectedBetweens ), // |
135 |
|
- |
new ViewSet( mTop1st, // |
136 |
|
- |
m1stReference, // |
137 |
|
- |
m1stThere2nd, // |
138 |
|
- |
m2ndReference, // |
139 |
|
- |
Bottom.create( m2nd ) ) // |
140 |
|
- |
); |
141 |
|
- |
assertSelectedBetweens( zSelectedBetweens ); |
142 |
|
- |
|
143 |
|
- |
zController = new InjectionPointSelectorController<TS>( 2, null, m1st, m2nd, m3rd ); |
144 |
|
- |
|
145 |
|
- |
assertNull( zController.updateDrillDownSetWhenEntriesVisibleChanges( 4, zSelectedBetweens ) ); |
146 |
|
- |
assertSelectedBetweens( zSelectedBetweens ); |
147 |
|
- |
|
148 |
|
- |
assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 7, zSelectedBetweens ), // |
149 |
|
- |
new ViewSet( mTop1st, // |
150 |
|
- |
m1stReference, // |
151 |
|
- |
m1stThere2nd, // |
152 |
|
- |
m2ndReference, // |
153 |
|
- |
m2ndThere3rd, // |
154 |
|
- |
m3rdReference, // |
155 |
|
- |
Bottom.create( m3rd ) ) // |
156 |
|
- |
); |
157 |
|
- |
assertSelectedBetweens( zSelectedBetweens ); |
158 |
|
- |
|
159 |
|
- |
assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 5, zSelectedBetweens ), // |
160 |
|
- |
new ViewSet( mTop1st, // |
161 |
|
- |
m1stReference, // |
162 |
|
- |
Between.create( false, m1st, m3rd ), // |
163 |
|
- |
m3rdReference, // |
164 |
|
- |
Bottom.create( m3rd ) ) // |
165 |
|
- |
); |
166 |
|
- |
assertSelectedBetweens( zSelectedBetweens ); |
167 |
|
- |
|
168 |
|
- |
zController = new InjectionPointSelectorController<TS>( 2, null, m1st, m2nd, m3rd, m4th ); |
169 |
|
- |
|
170 |
|
- |
assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 5, zSelectedBetweens ), // |
171 |
|
- |
new ViewSet( mTop1st, // |
172 |
|
- |
m1stReference, // |
173 |
|
- |
Between.create( false, m1st, m4th ), // |
174 |
|
- |
m4thReference, // |
175 |
|
- |
Bottom.create( m4th ) ) // |
176 |
|
- |
); |
177 |
|
- |
assertSelectedBetweens( zSelectedBetweens ); |
178 |
|
- |
|
179 |
|
- |
assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 7, zSelectedBetweens ), // |
180 |
|
- |
new ViewSet( mTop1st, // |
181 |
|
- |
m1stReference, // |
182 |
|
- |
m1stThere2nd, // |
183 |
|
- |
m2ndReference, // |
184 |
|
- |
Between.create( false, m2nd, m4th ), // |
185 |
|
- |
m4thReference, // |
186 |
|
- |
Bottom.create( m4th ) ) // |
187 |
|
- |
); |
188 |
|
- |
assertSelectedBetweens( zSelectedBetweens ); |
189 |
|
- |
|
190 |
|
- |
zController = new InjectionPointSelectorController<TS>( 2, null, m1st, m2nd, m3rd, m4th, m5th ); |
191 |
|
- |
assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 5, zSelectedBetweens ), // |
192 |
|
- |
new ViewSet( mTop1st, // |
193 |
|
- |
m1stReference, // |
194 |
|
- |
Between.create( false, m1st, m5th ), // |
195 |
|
- |
m5thReference, // |
196 |
|
- |
Bottom.create( m5th ) ) // |
197 |
|
- |
); |
198 |
|
- |
assertSelectedBetweens( zSelectedBetweens ); |
199 |
|
- |
|
200 |
|
- |
assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 7, zSelectedBetweens ), // |
201 |
|
- |
new ViewSet( mTop1st, // |
202 |
|
- |
m1stReference, // |
203 |
|
- |
Between.create( false, m1st, m3rd ), // |
204 |
|
- |
m3rdReference, // |
205 |
|
- |
Between.create( false, m3rd, m5th ), // |
206 |
|
- |
m5thReference, // |
207 |
|
- |
Bottom.create( m5th ) ) // |
208 |
|
- |
); |
209 |
|
- |
assertSelectedBetweens( zSelectedBetweens ); |
210 |
|
- |
|
211 |
|
- |
assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 10, zSelectedBetweens ), // |
212 |
|
- |
new ViewSet( mTop1st, // |
213 |
|
- |
m1stReference, // |
214 |
|
- |
m1stThere2nd, // |
215 |
|
- |
m2ndReference, // |
216 |
|
- |
m2ndThere3rd, // |
217 |
|
- |
m3rdReference, // |
218 |
|
- |
Between.create( false, m3rd, m5th ), // |
219 |
|
- |
m5thReference, // |
220 |
|
- |
Bottom.create( m5th ) ) // |
221 |
|
- |
); |
222 |
|
- |
assertSelectedBetweens( zSelectedBetweens ); |
223 |
|
- |
} |
224 |
|
- |
|
225 |
|
- |
public void test_updateDrillDownSetWhenSelectedBetweensChange() |
226 |
|
- |
throws Exception { |
227 |
|
- |
List<Between<TS>> zSelectedBetweens = new ArrayList<Between<TS>>(); |
228 |
|
- |
|
229 |
|
- |
InjectionPointSelectorController<TS> zController = new InjectionPointSelectorController<TS>( 2, null, m1st, m2nd, m3rd ); |
230 |
|
- |
|
231 |
|
- |
assertEquals( zController.updateDrillDownSetWhenSelectedBetweensChange( 5, zSelectedBetweens ), // |
232 |
|
- |
new ViewSet( mTop1st, // |
233 |
|
- |
m1stReference, // |
234 |
|
- |
Between.create( false, m1st, m3rd ), // |
235 |
|
- |
m3rdReference, // |
236 |
|
- |
Bottom.create( m3rd ) ) // |
237 |
|
- |
); |
238 |
|
- |
assertSelectedBetweens( zSelectedBetweens ); |
239 |
|
- |
|
240 |
|
- |
Between<TS> zBetweenSelected1st3rd = Between.create( true, m1st, m3rd ); |
241 |
|
- |
zSelectedBetweens.add( zBetweenSelected1st3rd ); |
242 |
|
- |
assertEquals( zController.updateDrillDownSetWhenSelectedBetweensChange( 5, zSelectedBetweens ), // |
243 |
|
- |
new ViewSet( mTop1st, // Home Set |
244 |
|
- |
m1stReference, // |
245 |
|
- |
zBetweenSelected1st3rd, // |
246 |
|
- |
m3rdReference, // |
247 |
|
- |
Bottom.create( m3rd ) ), // |
248 |
|
- |
new ViewSet( m1stReference, // Current Set |
249 |
|
- |
m1stThere2nd, // |
250 |
|
- |
m2ndReference, // |
251 |
|
- |
m2ndThere3rd, // |
252 |
|
- |
m3rdReference ) // |
253 |
|
- |
); |
254 |
|
- |
assertSelectedBetweens( zSelectedBetweens, zBetweenSelected1st3rd ); |
255 |
|
- |
|
256 |
|
- |
zController = new InjectionPointSelectorController<TS>( 2, null, m1st, m2nd, m3rd, m4th, m5th, m6th, m7th, m8th ); |
257 |
|
- |
|
258 |
|
- |
zSelectedBetweens.clear(); |
259 |
|
- |
|
260 |
|
- |
assertEquals( zController.updateDrillDownSetWhenSelectedBetweensChange( 7, zSelectedBetweens ), // |
261 |
|
- |
new ViewSet( mTop1st, // |
262 |
|
- |
m1stReference, // |
263 |
|
- |
Between.create( false, m1st, m4th ), // |
264 |
|
- |
m4thReference, // |
265 |
|
- |
Between.create( false, m4th, m8th ), // |
266 |
|
- |
m8thReference, // |
267 |
|
- |
Bottom.create( m8th ) ) // |
268 |
|
- |
); |
269 |
|
- |
assertSelectedBetweens( zSelectedBetweens ); |
270 |
|
- |
|
271 |
|
- |
Between<TS> zBetweenSelected4th8th = Between.create( true, m4th, m8th ); |
272 |
|
- |
zSelectedBetweens.add( zBetweenSelected4th8th ); |
273 |
|
- |
assertEquals( zController.updateDrillDownSetWhenSelectedBetweensChange( 7, zSelectedBetweens ), // |
274 |
|
- |
new ViewSet( mTop1st, // Home Set |
275 |
|
- |
m1stReference, // |
276 |
|
- |
Between.create( false, m1st, m4th ), // |
277 |
|
- |
m4thReference, // |
278 |
|
- |
zBetweenSelected4th8th, // |
279 |
|
- |
m8thReference, // |
280 |
|
- |
Bottom.create( m8th ) ), // |
281 |
|
- |
new ViewSet( m4thReference, // Current Set |
282 |
|
- |
m4thThere5th, // |
283 |
|
- |
m5thReference, // |
284 |
|
- |
m5thThere6th, // |
285 |
|
- |
m6thReference, // |
286 |
|
- |
Between.create( false, m6th, m8th ), // |
287 |
|
- |
m8thReference ) // |
288 |
|
- |
); |
289 |
|
- |
assertSelectedBetweens( zSelectedBetweens, zBetweenSelected4th8th ); |
290 |
|
- |
|
291 |
|
- |
Between<TS> zBetweenSelected6th8th = Between.create( true, m6th, m8th ); |
292 |
|
- |
zSelectedBetweens.add( zBetweenSelected6th8th ); |
293 |
|
- |
assertEquals( zController.updateDrillDownSetWhenSelectedBetweensChange( 7, zSelectedBetweens ), // |
294 |
|
- |
new ViewSet( mTop1st, // Home Set |
295 |
|
- |
m1stReference, // |
296 |
|
- |
Between.create( false, m1st, m4th ), // |
297 |
|
- |
m4thReference, // |
298 |
|
- |
zBetweenSelected4th8th, // |
299 |
|
- |
m8thReference, // |
300 |
|
- |
Bottom.create( m8th ) ), // |
301 |
|
- |
new ViewSet( m4thReference, // Previous Set |
302 |
|
- |
m4thThere5th, // |
303 |
|
- |
m5thReference, // |
304 |
|
- |
m5thThere6th, // |
305 |
|
- |
m6thReference, // |
306 |
|
- |
zBetweenSelected6th8th, // |
307 |
|
- |
m8thReference ), // |
308 |
|
- |
new ViewSet( m6thReference, // Current Set |
309 |
|
- |
m6thThere7th, // |
310 |
|
- |
m7thReference, // |
311 |
|
- |
m7thThere8th, // |
312 |
|
- |
m8thReference ) // |
313 |
|
- |
); |
314 |
|
- |
assertSelectedBetweens( zSelectedBetweens, zBetweenSelected4th8th, zBetweenSelected6th8th ); |
315 |
|
- |
} |
316 |
|
- |
} |
|
1 |
+ |
// This Source Code is in the Public Domain per: http://unlicense.org |
|
2 |
+ |
package org.litesoft.GWT.client.widgets.nonpublic; |
|
3 |
+ |
|
|
4 |
+ |
import org.litesoft.*; |
|
5 |
+ |
import org.litesoft.commonfoundation.typeutils.*; |
|
6 |
+ |
import org.litesoft.core.simpletypes.*; |
|
7 |
+ |
|
|
8 |
+ |
import junit.framework.*; |
|
9 |
+ |
|
|
10 |
+ |
import java.util.*; |
|
11 |
+ |
|
|
12 |
+ |
import static org.litesoft.GWT.client.widgets.nonpublic.InjectionPointSelectorController.*; |
|
13 |
+ |
|
|
14 |
+ |
public class InjectionPointSelectorControllerTest extends TestCasePlus { |
|
15 |
+ |
private TS m1st = new TS( "1st" ); |
|
16 |
+ |
private TS m2nd = new TS( "2nd" ); |
|
17 |
+ |
private TS m3rd = new TS( "3rd" ); |
|
18 |
+ |
private TS m4th = new TS( "4th" ); |
|
19 |
+ |
private TS m5th = new TS( "5th" ); |
|
20 |
+ |
private TS m6th = new TS( "6th" ); |
|
21 |
+ |
private TS m7th = new TS( "7th" ); |
|
22 |
+ |
private TS m8th = new TS( "8th" ); |
|
23 |
+ |
|
|
24 |
+ |
private Top<TS> mTop1st = Top.create( m1st ); |
|
25 |
+ |
|
|
26 |
+ |
private Reference<TS> m1stReference = Reference.create( 2, m1st ); |
|
27 |
+ |
private Reference<TS> m2ndReference = Reference.create( 2, m2nd ); |
|
28 |
+ |
private Reference<TS> m3rdReference = Reference.create( 2, m3rd ); |
|
29 |
+ |
private Reference<TS> m4thReference = Reference.create( 2, m4th ); |
|
30 |
+ |
private Reference<TS> m5thReference = Reference.create( 2, m5th ); |
|
31 |
+ |
private Reference<TS> m6thReference = Reference.create( 2, m6th ); |
|
32 |
+ |
private Reference<TS> m7thReference = Reference.create( 2, m7th ); |
|
33 |
+ |
private Reference<TS> m8thReference = Reference.create( 2, m8th ); |
|
34 |
+ |
|
|
35 |
+ |
private There<TS> m1stThere2nd = There.create( m1st, m2nd ); |
|
36 |
+ |
private There<TS> m2ndThere3rd = There.create( m2nd, m3rd ); |
|
37 |
+ |
// private There<TS> m3rdThere4th = There.create( m3rd, m4th ); |
|
38 |
+ |
private There<TS> m4thThere5th = There.create( m4th, m5th ); |
|
39 |
+ |
private There<TS> m5thThere6th = There.create( m5th, m6th ); |
|
40 |
+ |
private There<TS> m6thThere7th = There.create( m6th, m7th ); |
|
41 |
+ |
private There<TS> m7thThere8th = There.create( m7th, m8th ); |
|
42 |
+ |
|
|
43 |
+ |
public static TestSuite suite() { |
|
44 |
+ |
return new TestSuite( InjectionPointSelectorControllerTest.class ); |
|
45 |
+ |
} |
|
46 |
+ |
|
|
47 |
+ |
public InjectionPointSelectorControllerTest( String name ) { |
|
48 |
+ |
super( name ); |
|
49 |
+ |
} |
|
50 |
+ |
|
|
51 |
+ |
public static void main( String[] args ) { |
|
52 |
+ |
junit.textui.TestRunner.run( suite() ); |
|
53 |
+ |
} |
|
54 |
+ |
|
|
55 |
+ |
private void assertEquals( DrillDownSet pActual, ViewSet pHomeSet, boolean pSomethingBetweenHomeAndPreviousSets, ViewSet pPreviousSet, ViewSet pCurrentSet ) { |
|
56 |
+ |
assertEquals( new DrillDownSet( pHomeSet, pSomethingBetweenHomeAndPreviousSets, pPreviousSet, pCurrentSet ), pActual ); |
|
57 |
+ |
} |
|
58 |
+ |
|
|
59 |
+ |
private void assertEquals( DrillDownSet pActual, ViewSet pHomeSet, ViewSet pPreviousSet, ViewSet pCurrentSet ) { |
|
60 |
+ |
assertEquals( pActual, pHomeSet, false, pPreviousSet, pCurrentSet ); |
|
61 |
+ |
} |
|
62 |
+ |
|
|
63 |
+ |
private void assertEquals( DrillDownSet pActual, ViewSet pHomeSet, ViewSet pCurrentSet ) { |
|
64 |
+ |
assertEquals( pActual, pHomeSet, null, pCurrentSet ); |
|
65 |
+ |
} |
|
66 |
+ |
|
|
67 |
+ |
private void assertEquals( DrillDownSet pActual, ViewSet pCurrentSet ) { |
|
68 |
+ |
assertEquals( pActual, null, pCurrentSet ); |
|
69 |
+ |
} |
|
70 |
+ |
|
|
71 |
+ |
private void assertSelectedBetweens( List<Between<TS>> pActual, Between<TS>... pExpected ) { |
|
72 |
+ |
if ( !areEqual( pActual, pExpected ) ) { |
|
73 |
+ |
failNotEquals( null, Arrays.asList( pExpected ), pActual ); |
|
74 |
+ |
} |
|
75 |
+ |
} |
|
76 |
+ |
|
|
77 |
+ |
private boolean areEqual( List<Between<TS>> pActual, Between<TS>[] pExpected ) { |
|
78 |
+ |
if ( pActual.size() != pExpected.length ) { |
|
79 |
+ |
return false; |
|
80 |
+ |
} |
|
81 |
+ |
for ( int i = 0; i < pExpected.length; i++ ) { |
|
82 |
+ |
if ( !pExpected[i].equals( pActual.get( i ) ) ) { |
|
83 |
+ |
return false; |
|
84 |
+ |
} |
|
85 |
+ |
} |
|
86 |
+ |
return true; |
|
87 |
+ |
} |
|
88 |
+ |
|
|
89 |
+ |
private static class TS implements Synopsisable { |
|
90 |
+ |
private String mLines; |
|
91 |
+ |
|
|
92 |
+ |
private TS( String... pLines ) { |
|
93 |
+ |
switch ( pLines.length ) { |
|
94 |
+ |
default: |
|
95 |
+ |
mLines = "What the:\n" + Arrays.asList( pLines ); |
|
96 |
+ |
break; |
|
97 |
+ |
case 1: |
|
98 |
+ |
mLines = pLines[0] + "\n"; |
|
99 |
+ |
break; |
|
100 |
+ |
case 2: |
|
101 |
+ |
mLines = pLines[0] + "\n" + pLines[1]; |
|
102 |
+ |
break; |
|
103 |
+ |
} |
|
104 |
+ |
} |
|
105 |
+ |
|
|
106 |
+ |
@Override |
|
107 |
+ |
public String getSynopsis( int pLines ) { |
|
108 |
+ |
assertEquals( "TS: " + Strings.replace( mLines, '\n', "\\n" ), 2, pLines ); |
|
109 |
+ |
return mLines; |
|
110 |
+ |
} |
|
111 |
+ |
} |
|
112 |
+ |
|
|
113 |
+ |
public void test_updateDrillDownSetWhenEntriesVisibleChanges() |
|
114 |
+ |
throws Exception { |
|
115 |
+ |
List<Between<TS>> zSelectedBetweens = new ArrayList<Between<TS>>(); |
|
116 |
+ |
|
|
117 |
+ |
InjectionPointSelectorController<TS> zController = new InjectionPointSelectorController<TS>( 2, null, m1st ); |
|
118 |
+ |
|
|
119 |
+ |
assertNull( zController.updateDrillDownSetWhenEntriesVisibleChanges( 2, zSelectedBetweens ) ); |
|
120 |
+ |
assertSelectedBetweens( zSelectedBetweens ); |
|
121 |
+ |
|
|
122 |
+ |
assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 3, zSelectedBetweens ), // |
|
123 |
+ |
new ViewSet( mTop1st, // |
|
124 |
+ |
m1stReference, // |
|
125 |
+ |
Bottom.create( m1st ) ) // |
|
126 |
+ |
); |
|
127 |
+ |
assertSelectedBetweens( zSelectedBetweens ); |
|
128 |
+ |
|
|
129 |
+ |
zController = new InjectionPointSelectorController<TS>( 2, null, m1st, m2nd ); |
|
130 |
+ |
|
|
131 |
+ |
assertNull( zController.updateDrillDownSetWhenEntriesVisibleChanges( 4, zSelectedBetweens ) ); |
|
132 |
+ |
assertSelectedBetweens( zSelectedBetweens ); |
|
133 |
+ |
|
|
134 |
+ |
assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 5, zSelectedBetweens ), // |
|
135 |
+ |
new ViewSet( mTop1st, // |
|
136 |
+ |
m1stReference, // |
|
137 |
+ |
m1stThere2nd, // |
|
138 |
+ |
m2ndReference, // |
|
139 |
+ |
Bottom.create( m2nd ) ) // |
|
140 |
+ |
); |
|
141 |
+ |
assertSelectedBetweens( zSelectedBetweens ); |
|
142 |
+ |
|
|
143 |
+ |
zController = new InjectionPointSelectorController<TS>( 2, null, m1st, m2nd, m3rd ); |
|
144 |
+ |
|
|
145 |
+ |
assertNull( zController.updateDrillDownSetWhenEntriesVisibleChanges( 4, zSelectedBetweens ) ); |
|
146 |
+ |
assertSelectedBetweens( zSelectedBetweens ); |
|
147 |
+ |
|
|
148 |
+ |
assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 7, zSelectedBetweens ), // |
|
149 |
+ |
new ViewSet( mTop1st, // |
|
150 |
+ |
m1stReference, // |
|
151 |
+ |
m1stThere2nd, // |
|
152 |
+ |
m2ndReference, // |
|
153 |
+ |
m2ndThere3rd, // |
|
154 |
+ |
m3rdReference, // |
|
155 |
+ |
Bottom.create( m3rd ) ) // |
|
156 |
+ |
); |
|
157 |
+ |
assertSelectedBetweens( zSelectedBetweens ); |
|
158 |
+ |
|
|
159 |
+ |
assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 5, zSelectedBetweens ), // |
|
160 |
+ |
new ViewSet( mTop1st, // |
|
161 |
+ |
m1stReference, // |
|
162 |
+ |
Between.create( false, m1st, m3rd ), // |
|
163 |
+ |
m3rdReference, // |
|
164 |
+ |
Bottom.create( m3rd ) ) // |
|
165 |
+ |
); |
|
166 |
+ |
assertSelectedBetweens( zSelectedBetweens ); |
|
167 |
+ |
|
|
168 |
+ |
zController = new InjectionPointSelectorController<TS>( 2, null, m1st, m2nd, m3rd, m4th ); |
|
169 |
+ |
|
|
170 |
+ |
assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 5, zSelectedBetweens ), // |
|
171 |
+ |
new ViewSet( mTop1st, // |
|
172 |
+ |
m1stReference, // |
|
173 |
+ |
Between.create( false, m1st, m4th ), // |
|
174 |
+ |
m4thReference, // |
|
175 |
+ |
Bottom.create( m4th ) ) // |
|
176 |
+ |
); |
|
177 |
+ |
assertSelectedBetweens( zSelectedBetweens ); |
|
178 |
+ |
|
|
179 |
+ |
assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 7, zSelectedBetweens ), // |
|
180 |
+ |
new ViewSet( mTop1st, // |
|
181 |
+ |
m1stReference, // |
|
182 |
+ |
m1stThere2nd, // |
|
183 |
+ |
m2ndReference, // |
|
184 |
+ |
Between.create( false, m2nd, m4th ), // |
|
185 |
+ |
m4thReference, // |
|
186 |
+ |
Bottom.create( m4th ) ) // |
|
187 |
+ |
); |
|
188 |
+ |
assertSelectedBetweens( zSelectedBetweens ); |
|
189 |
+ |
|
|
190 |
+ |
zController = new InjectionPointSelectorController<TS>( 2, null, m1st, m2nd, m3rd, m4th, m5th ); |
|
191 |
+ |
assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 5, zSelectedBetweens ), // |
|
192 |
+ |
new ViewSet( mTop1st, // |
|
193 |
+ |
m1stReference, // |
|
194 |
+ |
Between.create( false, m1st, m5th ), // |
|
195 |
+ |
m5thReference, // |
|
196 |
+ |
Bottom.create( m5th ) ) // |
|
197 |
+ |
); |
|
198 |
+ |
assertSelectedBetweens( zSelectedBetweens ); |
|
199 |
+ |
|
|
200 |
+ |
assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 7, zSelectedBetweens ), // |
|
201 |
+ |
new ViewSet( mTop1st, // |
|
202 |
+ |
m1stReference, // |
|
203 |
+ |
Between.create( false, m1st, m3rd ), // |
|
204 |
+ |
m3rdReference, // |
|
205 |
+ |
Between.create( false, m3rd, m5th ), // |
|
206 |
+ |
m5thReference, // |
|
207 |
+ |
Bottom.create( m5th ) ) // |
|
208 |
+ |
); |
|
209 |
+ |
assertSelectedBetweens( zSelectedBetweens ); |
|
210 |
+ |
|
|
211 |
+ |
assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 10, zSelectedBetweens ), // |
|
212 |
+ |
new ViewSet( mTop1st, // |
|
213 |
+ |
m1stReference, // |
|
214 |
+ |
m1stThere2nd, // |
|
215 |
+ |
m2ndReference, // |
|
216 |
+ |
m2ndThere3rd, // |
|
217 |
+ |
m3rdReference, // |
|
218 |
+ |
Between.create( false, m3rd, m5th ), // |
|
219 |
+ |
m5thReference, // |
|
220 |
+ |
Bottom.create( m5th ) ) // |
|
221 |
+ |
); |
|
222 |
+ |
assertSelectedBetweens( zSelectedBetweens ); |
|
223 |
+ |
} |
|
224 |
+ |
|
|
225 |
+ |
public void test_updateDrillDownSetWhenSelectedBetweensChange() |
|
226 |
+ |
throws Exception { |
|
227 |
+ |
List<Between<TS>> zSelectedBetweens = new ArrayList<Between<TS>>(); |
|
228 |
+ |
|
|
229 |
+ |
InjectionPointSelectorController<TS> zController = new InjectionPointSelectorController<TS>( 2, null, m1st, m2nd, m3rd ); |
|
230 |
+ |
|
|
231 |
+ |
assertEquals( zController.updateDrillDownSetWhenSelectedBetweensChange( 5, zSelectedBetweens ), // |
|
232 |
+ |
new ViewSet( mTop1st, // |
|
233 |
+ |
m1stReference, // |
|
234 |
+ |
Between.create( false, m1st, m3rd ), // |
|
235 |
+ |
m3rdReference, // |
|
236 |
+ |
Bottom.create( m3rd ) ) // |
|
237 |
+ |
); |
|
238 |
+ |
assertSelectedBetweens( zSelectedBetweens ); |
|
239 |
+ |
|
|
240 |
+ |
Between<TS> zBetweenSelected1st3rd = Between.create( true, m1st, m3rd ); |
|
241 |
+ |
zSelectedBetweens.add( zBetweenSelected1st3rd ); |
|
242 |
+ |
assertEquals( zController.updateDrillDownSetWhenSelectedBetweensChange( 5, zSelectedBetweens ), // |
|
243 |
+ |
new ViewSet( mTop1st, // Home Set |
|
244 |
+ |
m1stReference, // |
|
245 |
+ |
zBetweenSelected1st3rd, // |
|
246 |
+ |
m3rdReference, // |
|
247 |
+ |
Bottom.create( m3rd ) ), // |
|
248 |
+ |
new ViewSet( m1stReference, // Current Set |
|
249 |
+ |
m1stThere2nd, // |
|
250 |
+ |
m2ndReference, // |
|
251 |
+ |
m2ndThere3rd, // |
|
252 |
+ |
m3rdReference ) // |
|
253 |
+ |
); |
|
254 |
+ |
assertSelectedBetweens( zSelectedBetweens, zBetweenSelected1st3rd ); |
|
255 |
+ |
|
|
256 |
+ |
zController = new InjectionPointSelectorController<TS>( 2, null, m1st, m2nd, m3rd, m4th, m5th, m6th, m7th, m8th ); |
|
257 |
+ |
|
|
258 |
+ |
zSelectedBetweens.clear(); |
|
259 |
+ |
|
|
260 |
+ |
assertEquals( zController.updateDrillDownSetWhenSelectedBetweensChange( 7, zSelectedBetweens ), // |
|
261 |
+ |
new ViewSet( mTop1st, // |
|
262 |
+ |
m1stReference, // |
|
263 |
+ |
Between.create( false, m1st, m4th ), // |
|
264 |
+ |
m4thReference, // |
|
265 |
+ |
Between.create( false, m4th, m8th ), // |
|
266 |
+ |
m8thReference, // |
|
267 |
+ |
Bottom.create( m8th ) ) // |
|
268 |
+ |
); |
|
269 |
+ |
assertSelectedBetweens( zSelectedBetweens ); |
|
270 |
+ |
|
|
271 |
+ |
Between<TS> zBetweenSelected4th8th = Between.create( true, m4th, m8th ); |
|
272 |
+ |
zSelectedBetweens.add( zBetweenSelected4th8th ); |
|
273 |
+ |
assertEquals( zController.updateDrillDownSetWhenSelectedBetweensChange( 7, zSelectedBetweens ), // |
|
274 |
+ |
new ViewSet( mTop1st, // Home Set |
|
275 |
+ |
m1stReference, // |
|
276 |
+ |
Between.create( false, m1st, m4th ), // |
|
277 |
+ |
m4thReference, // |
|
278 |
+ |
zBetweenSelected4th8th, // |
|
279 |
+ |
m8thReference, // |
|
280 |
+ |
Bottom.create( m8th ) ), // |
|
281 |
+ |
new ViewSet( m4thReference, // Current Set |
|
282 |
+ |
m4thThere5th, // |
|
283 |
+ |
m5thReference, // |
|
284 |
+ |
m5thThere6th, // |
|
285 |
+ |
m6thReference, // |
|
286 |
+ |
Between.create( false, m6th, m8th ), // |
|
287 |
+ |
m8thReference ) // |
|
288 |
+ |
); |
|
289 |
+ |
assertSelectedBetweens( zSelectedBetweens, zBetweenSelected4th8th ); |
|
290 |
+ |
|
|
291 |
+ |
Between<TS> zBetweenSelected6th8th = Between.create( true, m6th, m8th ); |
|
292 |
+ |
zSelectedBetweens.add( zBetweenSelected6th8th ); |
|
293 |
+ |
assertEquals( zController.updateDrillDownSetWhenSelectedBetweensChange( 7, zSelectedBetweens ), // |
|
294 |
+ |
new ViewSet( mTop1st, // Home Set |
|
295 |
+ |
m1stReference, // |
|
296 |
+ |
Between.create( false, m1st, m4th ), // |
|
297 |
+ |
m4thReference, // |
|
298 |
+ |
zBetweenSelected4th8th, // |
|
299 |
+ |
m8thReference, // |
|
300 |
+ |
Bottom.create( m8th ) ), // |
|
301 |
+ |
new ViewSet( m4thReference, // Previous Set |
|
302 |
+ |
m4thThere5th, // |
|
303 |
+ |
m5thReference, // |
|
304 |
+ |
m5thThere6th, // |
|
305 |
+ |
m6thReference, // |
|
306 |
+ |
zBetweenSelected6th8th, // |
|
307 |
+ |
m8thReference ), // |
|
308 |
+ |
new ViewSet( m6thReference, // Current Set |
|
309 |
+ |
m6thThere7th, // |
|
310 |
+ |
m7thReference, // |
|
311 |
+ |
m7thThere8th, // |
|
312 |
+ |
m8thReference ) // |
|
313 |
+ |
); |
|
314 |
+ |
assertSelectedBetweens( zSelectedBetweens, zBetweenSelected4th8th, zBetweenSelected6th8th ); |
|
315 |
+ |
} |
|
316 |
+ |
} |