17
17
18
18
import static examples .animal .data .AnimalDataDynamicSqlSupport .*;
19
19
import static org .assertj .core .api .Assertions .assertThat ;
20
+ import static org .assertj .core .api .Assertions .entry ;
20
21
import static org .junit .jupiter .api .Assertions .assertAll ;
21
22
import static org .mybatis .dynamic .sql .SqlBuilder .*;
22
23
@@ -50,6 +51,7 @@ class FetchFirstTest {
50
51
void setup () throws Exception {
51
52
Class .forName (JDBC_DRIVER );
52
53
InputStream is = getClass ().getResourceAsStream ("/examples/animal/data/CreateAnimalData.sql" );
54
+ assert is != null ;
53
55
try (Connection connection = DriverManager .getConnection (JDBC_URL , "sa" , "" )) {
54
56
ScriptRunner sr = new ScriptRunner (connection );
55
57
sr .setLogWriter (null );
@@ -78,7 +80,7 @@ void testOffsetAndFetchFirstAfterFrom() {
78
80
79
81
assertAll (
80
82
() -> assertThat (records ).hasSize (3 ),
81
- () -> assertThat (records . get ( 0 ). getId () ).isEqualTo (23 ),
83
+ () -> assertThat (records ). first (). isNotNull (). extracting ( AnimalData :: getId ).isEqualTo (23 ),
82
84
() -> assertThat (selectStatement .getSelectStatement ()).isEqualTo ("select * from AnimalData offset #{parameters.p1} rows fetch first #{parameters.p2} rows only" ),
83
85
() -> assertThat (selectStatement .getParameters ()).containsEntry ("p2" , 3L ),
84
86
() -> assertThat (selectStatement .getParameters ()).containsEntry ("p1" , 22L )
@@ -100,7 +102,7 @@ void testFetchFirstOnlyAfterFrom() {
100
102
101
103
assertAll (
102
104
() -> assertThat (records ).hasSize (3 ),
103
- () -> assertThat (records . get ( 0 ). getId () ).isEqualTo (1 ),
105
+ () -> assertThat (records ). first (). isNotNull (). extracting ( AnimalData :: getId ).isEqualTo (1 ),
104
106
() -> assertThat (selectStatement .getSelectStatement ()).isEqualTo ("select * from AnimalData fetch first #{parameters.p1} rows only" ),
105
107
() -> assertThat (selectStatement .getParameters ()).containsEntry ("p1" , 3L )
106
108
);
@@ -124,10 +126,9 @@ void testOffsetAndFetchFirstAfterWhere() {
124
126
125
127
assertAll (
126
128
() -> assertThat (records ).hasSize (3 ),
127
- () -> assertThat (records . get ( 0 ). getId () ).isEqualTo (45 ),
129
+ () -> assertThat (records ). first (). isNotNull (). extracting ( AnimalData :: getId ).isEqualTo (45 ),
128
130
() -> assertThat (selectStatement .getSelectStatement ()).isEqualTo ("select * from AnimalData where id < #{parameters.p1,jdbcType=INTEGER} and id > #{parameters.p2,jdbcType=INTEGER} offset #{parameters.p3} rows fetch first #{parameters.p4} rows only" ),
129
- () -> assertThat (selectStatement .getParameters ()).containsEntry ("p4" , 3L ),
130
- () -> assertThat (selectStatement .getParameters ()).containsEntry ("p3" , 22L )
131
+ () -> assertThat (selectStatement .getParameters ()).contains (entry ("p4" , 3L ), entry ("p3" , 22L ))
131
132
);
132
133
}
133
134
}
@@ -147,7 +148,7 @@ void testFetchFirstOnlyAfterWhere() {
147
148
148
149
assertAll (
149
150
() -> assertThat (records ).hasSize (3 ),
150
- () -> assertThat (records . get ( 0 ). getId () ).isEqualTo (1 ),
151
+ () -> assertThat (records ). first (). isNotNull (). extracting ( AnimalData :: getId ).isEqualTo (1 ),
151
152
() -> assertThat (selectStatement .getSelectStatement ()).isEqualTo ("select * from AnimalData where id < #{parameters.p1,jdbcType=INTEGER} fetch first #{parameters.p2} rows only" ),
152
153
() -> assertThat (selectStatement .getParameters ()).containsEntry ("p2" , 3L )
153
154
);
@@ -170,10 +171,12 @@ void testOffsetAndFetchFirstAfterOrderBy() {
170
171
171
172
assertAll (
172
173
() -> assertThat (records ).hasSize (3 ),
173
- () -> assertThat (records . get ( 0 ). getId () ).isEqualTo (23 ),
174
+ () -> assertThat (records ). first (). isNotNull (). extracting ( AnimalData :: getId ).isEqualTo (23 ),
174
175
() -> assertThat (selectStatement .getSelectStatement ()).isEqualTo ("select * from AnimalData order by id offset #{parameters.p1} rows fetch first #{parameters.p2} rows only" ),
175
- () -> assertThat (selectStatement .getParameters ()).containsEntry ("p2" , 3L ),
176
- () -> assertThat (selectStatement .getParameters ()).containsEntry ("p1" , 22L )
176
+ () -> assertThat (selectStatement )
177
+ .extracting (SelectStatementProvider ::getParameters )
178
+ .extracting ("p2" , "p1" )
179
+ .containsExactly (3L , 22L )
177
180
);
178
181
}
179
182
}
@@ -193,7 +196,7 @@ void testLimitOnlyAfterOrderBy() {
193
196
194
197
assertAll (
195
198
() -> assertThat (records ).hasSize (3 ),
196
- () -> assertThat (records . get ( 0 ). getId () ).isEqualTo (1 ),
199
+ () -> assertThat (records ). first (). isNotNull (). extracting ( AnimalData :: getId ).isEqualTo (1 ),
197
200
() -> assertThat (selectStatement .getSelectStatement ()).isEqualTo ("select * from AnimalData order by id fetch first #{parameters.p1} rows only" ),
198
201
() -> assertThat (selectStatement .getParameters ()).containsEntry ("p1" , 3L )
199
202
);
0 commit comments