22
33import  org .junit .jupiter .api .Test ;
44
5- import  java .util .ArrayList ;
6- import  java .util .HashMap ;
7- import  java .util .List ;
8- import  java .util .Map ;
5+ import  java .util .*;
96import  java .util .concurrent .CompletableFuture ;
107import  java .util .concurrent .atomic .AtomicInteger ;
118import  java .util .stream .Collectors ;
@@ -50,10 +47,14 @@ public void context_is_passed_to_batch_loader_function() {
5047 loader .load ("A" );
5148 loader .load ("B" );
5249 loader .loadMany (asList ("C" , "D" ));
50+  Map <String , ?> keysAndContexts  = new  LinkedHashMap <>();
51+  keysAndContexts .put ("E" , null );
52+  keysAndContexts .put ("F" , null );
53+  loader .loadMany (keysAndContexts );
5354
5455 List <String > results  = loader .dispatchAndJoin ();
5556
56-  assertThat (results , equalTo (asList ("A-ctx" , "B-ctx" , "C-ctx" , "D-ctx" )));
57+  assertThat (results , equalTo (asList ("A-ctx" , "B-ctx" , "C-ctx" , "D-ctx" ,  "E-ctx" ,  "F-ctx" )));
5758 }
5859
5960 @ Test 
@@ -66,10 +67,14 @@ public void key_contexts_are_passed_to_batch_loader_function() {
6667 loader .load ("A" , "aCtx" );
6768 loader .load ("B" , "bCtx" );
6869 loader .loadMany (asList ("C" , "D" ), asList ("cCtx" , "dCtx" ));
70+  Map <String , String > keysAndContexts  = new  LinkedHashMap <>();
71+  keysAndContexts .put ("E" , "eCtx" );
72+  keysAndContexts .put ("F" , "fCtx" );
73+  loader .loadMany (keysAndContexts );
6974
7075 List <String > results  = loader .dispatchAndJoin ();
7176
72-  assertThat (results , equalTo (asList ("A-ctx-m:aCtx-l:aCtx" , "B-ctx-m:bCtx-l:bCtx" , "C-ctx-m:cCtx-l:cCtx" , "D-ctx-m:dCtx-l:dCtx" )));
77+  assertThat (results , equalTo (asList ("A-ctx-m:aCtx-l:aCtx" , "B-ctx-m:bCtx-l:bCtx" , "C-ctx-m:cCtx-l:cCtx" , "D-ctx-m:dCtx-l:dCtx" ,  "E-ctx-m:eCtx-l:eCtx" ,  "F-ctx-m:fCtx-l:fCtx" )));
7378 }
7479
7580 @ Test 
@@ -82,12 +87,17 @@ public void key_contexts_are_passed_to_batch_loader_function_when_batching_disab
8287
8388 CompletableFuture <String > aLoad  = loader .load ("A" , "aCtx" );
8489 CompletableFuture <String > bLoad  = loader .load ("B" , "bCtx" );
85-  CompletableFuture <List <String >> canDLoad  = loader .loadMany (asList ("C" , "D" ), asList ("cCtx" , "dCtx" ));
90+  CompletableFuture <List <String >> cAndDLoad  = loader .loadMany (asList ("C" , "D" ), asList ("cCtx" , "dCtx" ));
91+  Map <String , String > keysAndContexts  = new  LinkedHashMap <>();
92+  keysAndContexts .put ("E" , "eCtx" );
93+  keysAndContexts .put ("F" , "fCtx" );
94+  CompletableFuture <Map <String , String >> eAndFLoad  = loader .loadMany (keysAndContexts );
8695
8796 List <String > results  = new  ArrayList <>(asList (aLoad .join (), bLoad .join ()));
88-  results .addAll (canDLoad .join ());
97+  results .addAll (cAndDLoad .join ());
98+  results .addAll (eAndFLoad .join ().values ());
8999
90-  assertThat (results , equalTo (asList ("A-ctx-m:aCtx-l:aCtx" , "B-ctx-m:bCtx-l:bCtx" , "C-ctx-m:cCtx-l:cCtx" , "D-ctx-m:dCtx-l:dCtx" )));
100+  assertThat (results , equalTo (asList ("A-ctx-m:aCtx-l:aCtx" , "B-ctx-m:bCtx-l:bCtx" , "C-ctx-m:cCtx-l:cCtx" , "D-ctx-m:dCtx-l:dCtx" ,  "E-ctx-m:eCtx-l:eCtx" ,  "F-ctx-m:fCtx-l:fCtx" )));
91101 }
92102
93103 @ Test 
@@ -101,9 +111,14 @@ public void missing_key_contexts_are_passed_to_batch_loader_function() {
101111 loader .load ("B" );
102112 loader .loadMany (asList ("C" , "D" ), singletonList ("cCtx" ));
103113
114+  Map <String , String > keysAndContexts  = new  LinkedHashMap <>();
115+  keysAndContexts .put ("E" , "eCtx" );
116+  keysAndContexts .put ("F" , null );
117+  loader .loadMany (keysAndContexts );
118+ 
104119 List <String > results  = loader .dispatchAndJoin ();
105120
106-  assertThat (results , equalTo (asList ("A-ctx-m:aCtx-l:aCtx" , "B-ctx-m:null-l:null" , "C-ctx-m:cCtx-l:cCtx" , "D-ctx-m:null-l:null" )));
121+  assertThat (results , equalTo (asList ("A-ctx-m:aCtx-l:aCtx" , "B-ctx-m:null-l:null" , "C-ctx-m:cCtx-l:cCtx" , "D-ctx-m:null-l:null" ,  "E-ctx-m:eCtx-l:eCtx" ,  "F-ctx-m:null-l:null" )));
107122 }
108123
109124 @ Test 
@@ -125,9 +140,14 @@ public void context_is_passed_to_map_batch_loader_function() {
125140 loader .load ("B" );
126141 loader .loadMany (asList ("C" , "D" ), singletonList ("cCtx" ));
127142
143+  Map <String , String > keysAndContexts  = new  LinkedHashMap <>();
144+  keysAndContexts .put ("E" , "eCtx" );
145+  keysAndContexts .put ("F" , null );
146+  loader .loadMany (keysAndContexts );
147+ 
128148 List <String > results  = loader .dispatchAndJoin ();
129149
130-  assertThat (results , equalTo (asList ("A-ctx-aCtx" , "B-ctx-null" , "C-ctx-cCtx" , "D-ctx-null" )));
150+  assertThat (results , equalTo (asList ("A-ctx-aCtx" , "B-ctx-null" , "C-ctx-cCtx" , "D-ctx-null" ,  "E-ctx-eCtx" ,  "F-ctx-null" )));
131151 }
132152
133153 @ Test 
@@ -142,9 +162,14 @@ public void null_is_passed_as_context_if_you_do_nothing() {
142162 loader .load ("B" );
143163 loader .loadMany (asList ("C" , "D" ));
144164
165+  Map <String , String > keysAndContexts  = new  LinkedHashMap <>();
166+  keysAndContexts .put ("E" , null );
167+  keysAndContexts .put ("F" , null );
168+  loader .loadMany (keysAndContexts );
169+ 
145170 List <String > results  = loader .dispatchAndJoin ();
146171
147-  assertThat (results , equalTo (asList ("A-null" , "B-null" , "C-null" , "D-null" )));
172+  assertThat (results , equalTo (asList ("A-null" , "B-null" , "C-null" , "D-null" ,  "E-null" ,  "F-null" )));
148173 }
149174
150175 @ Test 
@@ -160,9 +185,14 @@ public void null_is_passed_as_context_to_map_loader_if_you_do_nothing() {
160185 loader .load ("B" );
161186 loader .loadMany (asList ("C" , "D" ));
162187
188+  Map <String , String > keysAndContexts  = new  LinkedHashMap <>();
189+  keysAndContexts .put ("E" , null );
190+  keysAndContexts .put ("F" , null );
191+  loader .loadMany (keysAndContexts );
192+ 
163193 List <String > results  = loader .dispatchAndJoin ();
164194
165-  assertThat (results , equalTo (asList ("A-null" , "B-null" , "C-null" , "D-null" )));
195+  assertThat (results , equalTo (asList ("A-null" , "B-null" , "C-null" , "D-null" ,  "E-null" ,  "F-null" )));
166196 }
167197
168198 @ Test 
0 commit comments