21
21
import org .junit .Test ;
22
22
23
23
import java .util .ArrayList ;
24
- import java .util .Collections ;
25
24
import java .util .HashSet ;
26
25
import java .util .List ;
27
26
import java .util .Set ;
28
27
29
28
import org .neo4j .driver .internal .net .BoltServerAddress ;
30
29
31
30
import static java .util .Arrays .asList ;
32
- import static java .util .Collections .singleton ;
33
31
import static org .junit .Assert .assertEquals ;
34
32
import static org .junit .Assert .assertNotEquals ;
35
33
import static org .junit .Assert .assertNull ;
@@ -57,7 +55,7 @@ public void shouldReturnRoundRobin() throws Exception
57
55
new BoltServerAddress ( "two" ),
58
56
new BoltServerAddress ( "tre" ) ) );
59
57
60
- set .update ( addresses , new HashSet < BoltServerAddress >(), new HashSet < BoltServerAddress >() );
58
+ set .update ( addresses );
61
59
62
60
// when
63
61
BoltServerAddress a = set .next ();
@@ -85,7 +83,7 @@ public void shouldPreserveOrderWhenAdding() throws Exception
85
83
new BoltServerAddress ( "two" ),
86
84
new BoltServerAddress ( "tre" ) ) );
87
85
RoundRobinAddressSet set = new RoundRobinAddressSet ();
88
- set .update ( servers , new HashSet < BoltServerAddress >(), new HashSet < BoltServerAddress >() );
86
+ set .update ( servers );
89
87
90
88
List <BoltServerAddress > order = new ArrayList <>();
91
89
for ( int i = 3 * 4 + 1 ; i -- > 0 ; )
@@ -100,7 +98,7 @@ public void shouldPreserveOrderWhenAdding() throws Exception
100
98
101
99
// when
102
100
servers .add ( new BoltServerAddress ( "fyr" ) );
103
- set .update ( servers , new HashSet < BoltServerAddress >(), new HashSet < BoltServerAddress >() );
101
+ set .update ( servers );
104
102
105
103
// then
106
104
assertEquals ( order .get ( 1 ), set .next () );
@@ -126,7 +124,7 @@ public void shouldPreserveOrderWhenRemoving() throws Exception
126
124
new BoltServerAddress ( "two" ),
127
125
new BoltServerAddress ( "tre" ) ) );
128
126
RoundRobinAddressSet set = new RoundRobinAddressSet ();
129
- set .update ( servers , new HashSet < BoltServerAddress >(), new HashSet < BoltServerAddress >() );
127
+ set .update ( servers );
130
128
131
129
List <BoltServerAddress > order = new ArrayList <>();
132
130
for ( int i = 3 * 2 + 1 ; i -- > 0 ; )
@@ -158,7 +156,7 @@ public void shouldPreserveOrderWhenRemovingThroughUpdate() throws Exception
158
156
new BoltServerAddress ( "two" ),
159
157
new BoltServerAddress ( "tre" ) ) );
160
158
RoundRobinAddressSet set = new RoundRobinAddressSet ();
161
- set .update ( servers , new HashSet < BoltServerAddress >(), new HashSet < BoltServerAddress >() );
159
+ set .update ( servers );
162
160
163
161
List <BoltServerAddress > order = new ArrayList <>();
164
162
for ( int i = 3 * 2 + 1 ; i -- > 0 ; )
@@ -173,7 +171,7 @@ public void shouldPreserveOrderWhenRemovingThroughUpdate() throws Exception
173
171
174
172
// when
175
173
servers .remove ( order .get ( 1 ) );
176
- set .update ( servers , new HashSet < BoltServerAddress >(), new HashSet < BoltServerAddress >() );
174
+ set .update ( servers );
177
175
178
176
// then
179
177
assertEquals ( order .get ( 2 ), set .next () );
@@ -182,106 +180,7 @@ public void shouldPreserveOrderWhenRemovingThroughUpdate() throws Exception
182
180
assertEquals ( order .get ( 0 ), set .next () );
183
181
}
184
182
185
- @ Test
186
- public void shouldRecordRemovedAddressesWhenUpdating () throws Exception
187
- {
188
- // given
189
- RoundRobinAddressSet set = new RoundRobinAddressSet ();
190
- Set <BoltServerAddress > addresses = new HashSet <>( asList (
191
- new BoltServerAddress ( "one" ),
192
- new BoltServerAddress ( "two" ),
193
- new BoltServerAddress ( "tre" ) ) );
194
- set .update ( addresses , new HashSet <BoltServerAddress >(), new HashSet <BoltServerAddress >() );
195
-
196
- // when
197
- Set <BoltServerAddress > removed = new HashSet <>();
198
- Set <BoltServerAddress > newAddresses = new HashSet <>( asList (
199
- new BoltServerAddress ( "one" ),
200
- new BoltServerAddress ( "two" ),
201
- new BoltServerAddress ( "fyr" ) ) );
202
- set .update ( newAddresses , new HashSet <BoltServerAddress >(), removed );
203
-
204
- // then
205
- assertEquals ( singleton ( new BoltServerAddress ( "tre" ) ), removed );
206
- }
207
183
208
- @ Test
209
- public void shouldRecordRemovedAddressesWhenUpdateIsEmpty ()
210
- {
211
- RoundRobinAddressSet set = new RoundRobinAddressSet ();
212
- Set <BoltServerAddress > addresses = new HashSet <>( asList (
213
- new BoltServerAddress ( "one" ),
214
- new BoltServerAddress ( "two" ) ) );
215
- set .update ( addresses , new HashSet <BoltServerAddress >(), new HashSet <BoltServerAddress >() );
216
-
217
- Set <BoltServerAddress > update = Collections .emptySet ();
218
- Set <BoltServerAddress > removed = new HashSet <>();
219
- set .update ( update , new HashSet <BoltServerAddress >(), removed );
220
-
221
- assertEquals ( addresses , removed );
222
- }
223
-
224
- @ Test
225
- public void shouldRecordAddedAddressesWhenUpdatingAnEmptySet ()
226
- {
227
- RoundRobinAddressSet set = new RoundRobinAddressSet ();
228
-
229
- Set <BoltServerAddress > added1 = new HashSet <>();
230
- Set <BoltServerAddress > addresses1 = new HashSet <>( asList (
231
- new BoltServerAddress ( "one" ),
232
- new BoltServerAddress ( "two" ),
233
- new BoltServerAddress ( "tre" ) ) );
234
- set .update ( addresses1 , added1 , new HashSet <BoltServerAddress >() );
235
-
236
- assertEquals ( addresses1 , added1 );
237
- }
238
-
239
- @ Test
240
- public void shouldRecordAddedAddressesWhenUpdating ()
241
- {
242
- RoundRobinAddressSet set = new RoundRobinAddressSet ();
243
-
244
- Set <BoltServerAddress > addresses1 = new HashSet <>( asList (
245
- new BoltServerAddress ( "one" ),
246
- new BoltServerAddress ( "two" ),
247
- new BoltServerAddress ( "tre" ) ) );
248
- set .update ( addresses1 , new HashSet <BoltServerAddress >(), new HashSet <BoltServerAddress >() );
249
-
250
- Set <BoltServerAddress > added = new HashSet <>();
251
- Set <BoltServerAddress > newAddresses = new HashSet <>( asList (
252
- new BoltServerAddress ( "one" ),
253
- new BoltServerAddress ( "tre" ),
254
- new BoltServerAddress ( "four" ) ) );
255
- set .update ( newAddresses , added , new HashSet <BoltServerAddress >() );
256
-
257
- assertEquals ( singleton ( new BoltServerAddress ( "four" ) ), added );
258
- }
259
-
260
- @ Test
261
- public void shouldRecordBothAddedAndRemovedAddressesWhenUpdating ()
262
- {
263
- RoundRobinAddressSet set = new RoundRobinAddressSet ();
264
-
265
- Set <BoltServerAddress > addresses1 = new HashSet <>( asList (
266
- new BoltServerAddress ( "one" ),
267
- new BoltServerAddress ( "two" ),
268
- new BoltServerAddress ( "three" ) ) );
269
- set .update ( addresses1 , new HashSet <BoltServerAddress >(), new HashSet <BoltServerAddress >() );
270
-
271
- Set <BoltServerAddress > newAddresses = new HashSet <>( asList (
272
- new BoltServerAddress ( "two" ),
273
- new BoltServerAddress ( "four" ),
274
- new BoltServerAddress ( "five" ) ) );
275
-
276
- Set <BoltServerAddress > added = new HashSet <>();
277
- Set <BoltServerAddress > removed = new HashSet <>();
278
- set .update ( newAddresses , added , removed );
279
-
280
- assertEquals (
281
- new HashSet <>( asList ( new BoltServerAddress ( "four" ), new BoltServerAddress ( "five" ) ) ), added );
282
- assertEquals (
283
- new HashSet <>( asList ( new BoltServerAddress ( "one" ), new BoltServerAddress ( "three" ) ) ), removed );
284
- }
285
184
286
185
@ Test
287
186
public void shouldPreserveOrderEvenWhenIntegerOverflows () throws Exception
0 commit comments