Subversion Repository Public Repository

litesoft

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

Diff revisions: vs.
  @@ -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 + }