@@ -40,11 +40,10 @@ public void one_ShouldReturnResult() {
40
40
Map <String , AttributeValue > item = Collections .emptyMap ();
41
41
List <Map <String , AttributeValue >> items = Arrays .asList (item , item , item );
42
42
when (request .execute ()).thenReturn (response );
43
- when (request .limit ()).thenReturn (null );
44
43
when (response .items ()).thenReturn (items );
45
44
when (resultInterpreter .interpret (item )).thenReturn (result );
46
45
47
- QueryScanner queryScanner = new QueryScanner (request , resultInterpreter );
46
+ QueryScanner queryScanner = new QueryScanner (request , 0 , resultInterpreter );
48
47
49
48
// Act
50
49
Optional <Result > actual1 = queryScanner .one ();
@@ -71,11 +70,10 @@ public void all_ShouldReturnResults() {
71
70
Map <String , AttributeValue > item = Collections .emptyMap ();
72
71
List <Map <String , AttributeValue >> items = Arrays .asList (item , item , item );
73
72
when (request .execute ()).thenReturn (response );
74
- when (request .limit ()).thenReturn (null );
75
73
when (response .items ()).thenReturn (items );
76
74
when (resultInterpreter .interpret (item )).thenReturn (result );
77
75
78
- QueryScanner queryScanner = new QueryScanner (request , resultInterpreter );
76
+ QueryScanner queryScanner = new QueryScanner (request , 0 , resultInterpreter );
79
77
80
78
// Act
81
79
List <Result > results1 = queryScanner .all ();
@@ -100,9 +98,8 @@ public void iterator_ShouldReturnResults() {
100
98
when (response .items ()).thenReturn (items );
101
99
when (resultInterpreter .interpret (item )).thenReturn (result );
102
100
when (request .execute ()).thenReturn (response );
103
- when (request .limit ()).thenReturn (null );
104
101
105
- QueryScanner queryScanner = new QueryScanner (request , resultInterpreter );
102
+ QueryScanner queryScanner = new QueryScanner (request , 0 , resultInterpreter );
106
103
107
104
// Act
108
105
Iterator <Result > iterator = queryScanner .iterator ();
@@ -134,9 +131,8 @@ public void one_ResponseWithLastEvaluatedKey_ShouldReturnResults() {
134
131
when (resultInterpreter .interpret (item )).thenReturn (result );
135
132
when (request .execute ()).thenReturn (response );
136
133
when (request .execute (lastEvaluatedKey )).thenReturn (response );
137
- when (request .limit ()).thenReturn (null );
138
134
139
- QueryScanner queryScanner = new QueryScanner (request , resultInterpreter );
135
+ QueryScanner queryScanner = new QueryScanner (request , 0 , resultInterpreter );
140
136
141
137
// Act
142
138
Optional <Result > actual1 = queryScanner .one ();
@@ -164,26 +160,27 @@ public void one_ResponseWithLastEvaluatedKey_ShouldReturnResults() {
164
160
@ Test
165
161
public void one_RequestWithLimitAndResponseWithLastEvaluatedKey_ShouldReturnResults () {
166
162
// Arrange
163
+ int limit = 3 ;
164
+
167
165
Map <String , AttributeValue > item = Collections .emptyMap ();
168
- List <Map <String , AttributeValue >> items = Arrays .asList (item , item );
166
+ List <Map <String , AttributeValue >> items1 = Arrays .asList (item , item );
167
+ List <Map <String , AttributeValue >> items2 = Collections .singletonList (item );
169
168
Map <String , AttributeValue > lastEvaluatedKey = Collections .emptyMap ();
170
169
171
- when (request .limit ()).thenReturn (4 );
172
- when (response .items ()).thenReturn (items );
170
+ when (response .items ()).thenReturn (items1 ).thenReturn (items2 );
173
171
when (response .hasLastEvaluatedKey ()).thenReturn (true );
174
172
when (response .lastEvaluatedKey ()).thenReturn (lastEvaluatedKey );
175
- when (request .execute ()).thenReturn (response );
176
- when (request .execute (lastEvaluatedKey )).thenReturn (response );
173
+ when (request .execute (limit )).thenReturn (response );
174
+ when (request .execute (lastEvaluatedKey , limit - items1 . size () )).thenReturn (response );
177
175
when (resultInterpreter .interpret (item )).thenReturn (result );
178
176
179
- QueryScanner queryScanner = new QueryScanner (request , resultInterpreter );
177
+ QueryScanner queryScanner = new QueryScanner (request , limit , resultInterpreter );
180
178
181
179
// Act
182
180
Optional <Result > actual1 = queryScanner .one ();
183
181
Optional <Result > actual2 = queryScanner .one ();
184
182
Optional <Result > actual3 = queryScanner .one ();
185
183
Optional <Result > actual4 = queryScanner .one ();
186
- Optional <Result > actual5 = queryScanner .one ();
187
184
188
185
// Assert
189
186
assertThat (actual1 ).isPresent ();
@@ -192,12 +189,10 @@ public void one_RequestWithLimitAndResponseWithLastEvaluatedKey_ShouldReturnResu
192
189
assertThat (actual2 .get ()).isEqualTo (result );
193
190
assertThat (actual3 ).isPresent ();
194
191
assertThat (actual3 .get ()).isEqualTo (result );
195
- assertThat (actual4 ).isPresent ();
196
- assertThat (actual4 .get ()).isEqualTo (result );
197
- assertThat (actual5 ).isNotPresent ();
192
+ assertThat (actual4 ).isNotPresent ();
198
193
199
- verify (resultInterpreter , times (4 )).interpret (item );
200
- verify (request ).execute (lastEvaluatedKey );
201
- verify (request ).execute ();
194
+ verify (resultInterpreter , times (limit )).interpret (item );
195
+ verify (request ).execute (limit );
196
+ verify (request ).execute (lastEvaluatedKey , limit - items1 . size () );
202
197
}
203
198
}
0 commit comments