Subversion Repository Public Repository

litesoft

Diff Revisions 258 vs 261 for /trunk/Java/GWT/Server/tests/org/litesoft/GWT/client/widgets/nonpublic/InjectionPointSelectorControllerTest.java

Diff revisions: vs.
  @@ -13,6 +13,25 @@
13 13
14 14 public class InjectionPointSelectorControllerTest extends TestCasePlus
15 15 {
16 + private TS m1st = new TS( "1st" );
17 + private TS m2nd = new TS( "2nd" );
18 + private TS m3rd = new TS( "3rd" );
19 + private TS m4th = new TS( "4th" );
20 + private TS m5th = new TS( "5th" );
21 +
22 + private Top<TS> mTop1st = Top.create( m1st );
23 +
24 + private Reference<TS> m1stReference = Reference.create( 2, m1st );
25 + private Reference<TS> m2ndReference = Reference.create( 2, m2nd );
26 + private Reference<TS> m3rdReference = Reference.create( 2, m3rd );
27 + private Reference<TS> m4thReference = Reference.create( 2, m4th );
28 + private Reference<TS> m5thReference = Reference.create( 2, m5th );
29 +
30 + private There<TS> m1stThere2nd = There.create( m1st, m2nd );
31 + private There<TS> m2ndThere3rd = There.create( m2nd, m3rd );
32 + private There<TS> m3rdThere4th = There.create( m3rd, m4th );
33 + private There<TS> m4thThere5th = There.create( m4th, m5th );
34 +
16 35 public static TestSuite suite()
17 36 {
18 37 return new TestSuite( InjectionPointSelectorControllerTest.class );
  @@ -33,9 +52,14 @@
33 52 assertEquals( new DrillDownSet( pHomeSet, pSomethingBetweenHomeAndPreviousSets, pPreviousSet, pCurrentSet ), pActual );
34 53 }
35 54
55 + private void assertEquals( DrillDownSet pActual, ViewSet pHomeSet, ViewSet pPreviousSet, ViewSet pCurrentSet )
56 + {
57 + assertEquals( pActual, pHomeSet, false, pPreviousSet, pCurrentSet );
58 + }
59 +
36 60 private void assertEquals( DrillDownSet pActual, ViewSet pHomeSet, ViewSet pCurrentSet )
37 61 {
38 - assertEquals( pActual, null, false, pHomeSet, pCurrentSet );
62 + assertEquals( pActual, null, pHomeSet, pCurrentSet );
39 63 }
40 64
41 65 private void assertEquals( DrillDownSet pActual, ViewSet pCurrentSet )
  @@ -43,6 +67,30 @@
43 67 assertEquals( pActual, null, pCurrentSet );
44 68 }
45 69
70 + private void assertSelectedBetweens( List<Between<TS>> pActual, Between<TS>... pExpected )
71 + {
72 + if ( !areEqual( pActual, pExpected ) )
73 + {
74 + failNotEquals( null, Arrays.asList( pExpected ), pActual );
75 + }
76 + }
77 +
78 + private boolean areEqual( List<Between<TS>> pActual, Between<TS>[] pExpected )
79 + {
80 + if ( pActual.size() != pExpected.length )
81 + {
82 + return false;
83 + }
84 + for ( int i = 0; i < pExpected.length; i++ )
85 + {
86 + if ( !pExpected[i].equals( pActual.get( i ) ) )
87 + {
88 + return false;
89 + }
90 + }
91 + return true;
92 + }
93 +
46 94 private static class TS implements Synopsisable
47 95 {
48 96 private String mLines;
  @@ -71,121 +119,176 @@
71 119 }
72 120 }
73 121
74 - public void testInitial_updateDrillDownSet()
122 + public void test_updateDrillDownSetWhenEntriesVisibleChanges()
75 123 throws Exception
76 124 {
77 125 List<Between<TS>> zSelectedBetweens = new ArrayList<Between<TS>>();
78 126
79 - TS z1st = new TS( "1st" );
80 - InjectionPointSelectorController<TS> zController = new InjectionPointSelectorController<TS>( 2, null, z1st );
127 + InjectionPointSelectorController<TS> zController = new InjectionPointSelectorController<TS>( 2, null, m1st );
81 128
82 129 assertNull( zController.updateDrillDownSetWhenEntriesVisibleChanges( 2, zSelectedBetweens ) );
83 - assertTrue( zSelectedBetweens.isEmpty() );
130 + assertSelectedBetweens( zSelectedBetweens );
84 131
85 132 assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 3, zSelectedBetweens ), //
86 - new ViewSet( Top.create( z1st ), //
87 - Reference.create( 2, z1st ), //
88 - Bottom.create( z1st ) ) //
133 + new ViewSet( mTop1st, //
134 + m1stReference, //
135 + Bottom.create( m1st ) ) //
89 136 );
90 - assertTrue( zSelectedBetweens.isEmpty() );
137 + assertSelectedBetweens( zSelectedBetweens );
91 138
92 - TS z2nd = new TS( "2nd" );
93 - zController = new InjectionPointSelectorController<TS>( 2, null, z1st, z2nd );
139 + zController = new InjectionPointSelectorController<TS>( 2, null, m1st, m2nd );
94 140
95 141 assertNull( zController.updateDrillDownSetWhenEntriesVisibleChanges( 4, zSelectedBetweens ) );
96 - assertTrue( zSelectedBetweens.isEmpty() );
142 + assertSelectedBetweens( zSelectedBetweens );
97 143
98 144 assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 5, zSelectedBetweens ), //
99 - new ViewSet( Top.create( z1st ), //
100 - Reference.create( 2, z1st ), //
101 - There.create( z1st, z2nd ), //
102 - Reference.create( 2, z2nd ), //
103 - Bottom.create( z2nd ) ) //
145 + new ViewSet( mTop1st, //
146 + m1stReference, //
147 + m1stThere2nd, //
148 + m2ndReference, //
149 + Bottom.create( m2nd ) ) //
104 150 );
105 - assertTrue( zSelectedBetweens.isEmpty() );
151 + assertSelectedBetweens( zSelectedBetweens );
106 152
107 - TS z3rd = new TS( "3rd" );
108 - zController = new InjectionPointSelectorController<TS>( 2, null, z1st, z2nd, z3rd );
153 + zController = new InjectionPointSelectorController<TS>( 2, null, m1st, m2nd, m3rd );
109 154
110 155 assertNull( zController.updateDrillDownSetWhenEntriesVisibleChanges( 4, zSelectedBetweens ) );
111 - assertTrue( zSelectedBetweens.isEmpty() );
156 + assertSelectedBetweens( zSelectedBetweens );
112 157
113 158 assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 7, zSelectedBetweens ), //
114 - new ViewSet( Top.create( z1st ), //
115 - Reference.create( 2, z1st ), //
116 - There.create( z1st, z2nd ), //
117 - Reference.create( 2, z2nd ), //
118 - There.create( z2nd, z3rd ), //
119 - Reference.create( 2, z3rd ), //
120 - Bottom.create( z3rd ) ) //
159 + new ViewSet( mTop1st, //
160 + m1stReference, //
161 + m1stThere2nd, //
162 + m2ndReference, //
163 + m2ndThere3rd, //
164 + m3rdReference, //
165 + Bottom.create( m3rd ) ) //
121 166 );
122 - assertTrue( zSelectedBetweens.isEmpty() );
167 + assertSelectedBetweens( zSelectedBetweens );
123 168
124 169 assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 5, zSelectedBetweens ), //
125 - new ViewSet( Top.create( z1st ), //
126 - Reference.create( 2, z1st ), //
127 - Between.create( false, z1st, z3rd ), //
128 - Reference.create( 2, z3rd ), //
129 - Bottom.create( z3rd ) ) //
170 + new ViewSet( mTop1st, //
171 + m1stReference, //
172 + Between.create( false, m1st, m3rd ), //
173 + m3rdReference, //
174 + Bottom.create( m3rd ) ) //
130 175 );
131 - assertTrue( zSelectedBetweens.isEmpty() );
176 + assertSelectedBetweens( zSelectedBetweens );
132 177
133 - TS z4th = new TS( "4th" );
134 - zController = new InjectionPointSelectorController<TS>( 2, null, z1st, z2nd, z3rd, z4th );
178 + zController = new InjectionPointSelectorController<TS>( 2, null, m1st, m2nd, m3rd, m4th );
135 179
136 180 assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 5, zSelectedBetweens ), //
137 - new ViewSet( Top.create( z1st ), //
138 - Reference.create( 2, z1st ), //
139 - Between.create( false, z1st, z4th ), //
140 - Reference.create( 2, z4th ), //
141 - Bottom.create( z4th ) ) //
181 + new ViewSet( mTop1st, //
182 + m1stReference, //
183 + Between.create( false, m1st, m4th ), //
184 + m4thReference, //
185 + Bottom.create( m4th ) ) //
142 186 );
143 - assertTrue( zSelectedBetweens.isEmpty() );
187 + assertSelectedBetweens( zSelectedBetweens );
144 188
145 189 assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 7, zSelectedBetweens ), //
146 - new ViewSet( Top.create( z1st ), //
147 - Reference.create( 2, z1st ), //
148 - There.create( z1st, z2nd ), //
149 - Reference.create( 2, z2nd ), //
150 - Between.create( false, z2nd, z4th ), //
151 - Reference.create( 2, z4th ), //
152 - Bottom.create( z4th ) ) //
190 + new ViewSet( mTop1st, //
191 + m1stReference, //
192 + m1stThere2nd, //
193 + m2ndReference, //
194 + Between.create( false, m2nd, m4th ), //
195 + m4thReference, //
196 + Bottom.create( m4th ) ) //
153 197 );
154 - assertTrue( zSelectedBetweens.isEmpty() );
198 + assertSelectedBetweens( zSelectedBetweens );
155 199
156 - TS z5th = new TS( "5th" );
157 - zController = new InjectionPointSelectorController<TS>( 2, null, z1st, z2nd, z3rd, z4th, z5th );
200 + zController = new InjectionPointSelectorController<TS>( 2, null, m1st, m2nd, m3rd, m4th, m5th );
158 201 assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 5, zSelectedBetweens ), //
159 - new ViewSet( Top.create( z1st ), //
160 - Reference.create( 2, z1st ), //
161 - Between.create( false, z1st, z5th ), //
162 - Reference.create( 2, z5th ), //
163 - Bottom.create( z5th ) ) //
202 + new ViewSet( mTop1st, //
203 + m1stReference, //
204 + Between.create( false, m1st, m5th ), //
205 + m5thReference, //
206 + Bottom.create( m5th ) ) //
164 207 );
165 - assertTrue( zSelectedBetweens.isEmpty() );
208 + assertSelectedBetweens( zSelectedBetweens );
166 209
167 210 assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 7, zSelectedBetweens ), //
168 - new ViewSet( Top.create( z1st ), //
169 - Reference.create( 2, z1st ), //
170 - Between.create( false, z1st, z3rd ), //
171 - Reference.create( 2, z3rd ), //
172 - Between.create( false, z3rd, z5th ), //
173 - Reference.create( 2, z5th ), //
174 - Bottom.create( z5th ) ) //
211 + new ViewSet( mTop1st, //
212 + m1stReference, //
213 + Between.create( false, m1st, m3rd ), //
214 + m3rdReference, //
215 + Between.create( false, m3rd, m5th ), //
216 + m5thReference, //
217 + Bottom.create( m5th ) ) //
175 218 );
176 - assertTrue( zSelectedBetweens.isEmpty() );
219 + assertSelectedBetweens( zSelectedBetweens );
177 220
178 221 assertEquals( zController.updateDrillDownSetWhenEntriesVisibleChanges( 10, zSelectedBetweens ), //
179 - new ViewSet( Top.create( z1st ), //
180 - Reference.create( 2, z1st ), //
181 - There.create( z1st, z2nd ), //
182 - Reference.create( 2, z2nd ), //
183 - There.create( z2nd, z3rd ), //
184 - Reference.create( 2, z3rd ), //
185 - Between.create( false, z3rd, z5th ), //
186 - Reference.create( 2, z5th ), //
187 - Bottom.create( z5th ) ) //
222 + new ViewSet( mTop1st, //
223 + m1stReference, //
224 + m1stThere2nd, //
225 + m2ndReference, //
226 + m2ndThere3rd, //
227 + m3rdReference, //
228 + Between.create( false, m3rd, m5th ), //
229 + m5thReference, //
230 + Bottom.create( m5th ) ) //
231 + );
232 + assertSelectedBetweens( zSelectedBetweens );
233 + }
234 +
235 + public void test_updateDrillDownSetWhenSelectedBetweensChange()
236 + throws Exception
237 + {
238 + List<Between<TS>> zSelectedBetweens = new ArrayList<Between<TS>>();
239 +
240 + InjectionPointSelectorController<TS> zController = new InjectionPointSelectorController<TS>( 2, null, m1st, m2nd, m3rd );
241 +
242 + assertEquals( zController.updateDrillDownSetWhenSelectedBetweensChange( 5, zSelectedBetweens ), //
243 + new ViewSet( mTop1st, //
244 + m1stReference, //
245 + Between.create( false, m1st, m3rd ), //
246 + m3rdReference, //
247 + Bottom.create( m3rd ) ) //
188 248 );
189 - assertTrue( zSelectedBetweens.isEmpty() );
249 + assertSelectedBetweens( zSelectedBetweens );
250 +
251 + Between<TS> zBetweenSelected1st3rd = Between.create( true, m1st, m3rd );
252 + zSelectedBetweens.add( zBetweenSelected1st3rd );
253 + assertEquals( zController.updateDrillDownSetWhenSelectedBetweensChange( 5, zSelectedBetweens ), //
254 + new ViewSet( mTop1st, //
255 + m1stReference, //
256 + zBetweenSelected1st3rd, //
257 + m3rdReference, //
258 + Bottom.create( m3rd ) ) //
259 + );
260 + assertSelectedBetweens( zSelectedBetweens, zBetweenSelected1st3rd );
261 +
262 + // zController = new InjectionPointSelectorController<TS>( 2, null, m1st, m2nd, m3rd, m4th );
263 + //
264 + // assertEquals( zController.updateDrillDownSetWhenSelectedBetweensChange( 5, zSelectedBetweens ), //
265 + // new ViewSet( mTop1st, //
266 + // m1stReference, //
267 + // Between.create( false, m1st, m4th ), //
268 + // m4thReference, //
269 + // Bottom.create( m4th ) ) //
270 + // );
271 + // assertSelectedBetweens( zSelectedBetweens );
272 + //
273 + // assertEquals( zController.updateDrillDownSetWhenSelectedBetweensChange( 7, zSelectedBetweens ), //
274 + // new ViewSet( mTop1st, //
275 + // m1stReference, //
276 + // m1stThere2nd, //
277 + // m2ndReference, //
278 + // Between.create( false, m2nd, m4th ), //
279 + // m4thReference, //
280 + // Bottom.create( m4th ) ) //
281 + // );
282 + // assertSelectedBetweens( zSelectedBetweens );
283 + //
284 + // zController = new InjectionPointSelectorController<TS>( 2, null, m1st, m2nd, m3rd, m4th, m5th );
285 + // assertEquals( zController.updateDrillDownSetWhenSelectedBetweensChange( 5, zSelectedBetweens ), //
286 + // new ViewSet( mTop1st, //
287 + // m1stReference, //
288 + // Between.create( false, m1st, m5th ), //
289 + // m5thReference, //
290 + // Bottom.create( m5th ) ) //
291 + // );
292 + // assertSelectedBetweens( zSelectedBetweens );
190 293 }
191 294 }