2121import org .junit .Test ;
2222
2323import java .util .ArrayList ;
24- import java .util .Collections ;
2524import java .util .HashSet ;
2625import java .util .List ;
2726import java .util .Set ;
2827
2928import org .neo4j .driver .internal .net .BoltServerAddress ;
3029
3130import static java .util .Arrays .asList ;
32- import static java .util .Collections .singleton ;
3331import static org .junit .Assert .assertEquals ;
3432import static org .junit .Assert .assertNotEquals ;
3533import static org .junit .Assert .assertNull ;
@@ -57,7 +55,7 @@ public void shouldReturnRoundRobin() throws Exception
5755 new BoltServerAddress ( "two" ),
5856 new BoltServerAddress ( "tre" ) ) );
5957
60- set .update ( addresses , new HashSet < BoltServerAddress >(), new HashSet < BoltServerAddress >() );
58+ set .update ( addresses );
6159
6260 // when
6361 BoltServerAddress a = set .next ();
@@ -85,7 +83,7 @@ public void shouldPreserveOrderWhenAdding() throws Exception
8583 new BoltServerAddress ( "two" ),
8684 new BoltServerAddress ( "tre" ) ) );
8785 RoundRobinAddressSet set = new RoundRobinAddressSet ();
88- set .update ( servers , new HashSet < BoltServerAddress >(), new HashSet < BoltServerAddress >() );
86+ set .update ( servers );
8987
9088 List <BoltServerAddress > order = new ArrayList <>();
9189 for ( int i = 3 * 4 + 1 ; i -- > 0 ; )
@@ -100,7 +98,7 @@ public void shouldPreserveOrderWhenAdding() throws Exception
10098
10199 // when
102100 servers .add ( new BoltServerAddress ( "fyr" ) );
103- set .update ( servers , new HashSet < BoltServerAddress >(), new HashSet < BoltServerAddress >() );
101+ set .update ( servers );
104102
105103 // then
106104 assertEquals ( order .get ( 1 ), set .next () );
@@ -126,7 +124,7 @@ public void shouldPreserveOrderWhenRemoving() throws Exception
126124 new BoltServerAddress ( "two" ),
127125 new BoltServerAddress ( "tre" ) ) );
128126 RoundRobinAddressSet set = new RoundRobinAddressSet ();
129- set .update ( servers , new HashSet < BoltServerAddress >(), new HashSet < BoltServerAddress >() );
127+ set .update ( servers );
130128
131129 List <BoltServerAddress > order = new ArrayList <>();
132130 for ( int i = 3 * 2 + 1 ; i -- > 0 ; )
@@ -158,7 +156,7 @@ public void shouldPreserveOrderWhenRemovingThroughUpdate() throws Exception
158156 new BoltServerAddress ( "two" ),
159157 new BoltServerAddress ( "tre" ) ) );
160158 RoundRobinAddressSet set = new RoundRobinAddressSet ();
161- set .update ( servers , new HashSet < BoltServerAddress >(), new HashSet < BoltServerAddress >() );
159+ set .update ( servers );
162160
163161 List <BoltServerAddress > order = new ArrayList <>();
164162 for ( int i = 3 * 2 + 1 ; i -- > 0 ; )
@@ -173,7 +171,7 @@ public void shouldPreserveOrderWhenRemovingThroughUpdate() throws Exception
173171
174172 // when
175173 servers .remove ( order .get ( 1 ) );
176- set .update ( servers , new HashSet < BoltServerAddress >(), new HashSet < BoltServerAddress >() );
174+ set .update ( servers );
177175
178176 // then
179177 assertEquals ( order .get ( 2 ), set .next () );
@@ -182,106 +180,7 @@ public void shouldPreserveOrderWhenRemovingThroughUpdate() throws Exception
182180 assertEquals ( order .get ( 0 ), set .next () );
183181 }
184182
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- }
207183
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- }
285184
286185 @ Test
287186 public void shouldPreserveOrderEvenWhenIntegerOverflows () throws Exception
0 commit comments