32
32
* Unit tests for {@link NamedParameterUtils}.
33
33
*
34
34
* @author Mark Paluch
35
+ * @author Jens Schauder
35
36
*/
36
37
public class NamedParameterUtilsUnitTests {
37
38
@@ -42,19 +43,19 @@ public void shouldParseSql() {
42
43
43
44
String sql = "xxx :a yyyy :b :c :a zzzzz" ;
44
45
ParsedSql psql = NamedParameterUtils .parseSqlStatement (sql );
45
- assertThat (psql .getParameterNames ()).containsSequence ("a" , "b" , "c" , "a" );
46
+ assertThat (psql .getParameterNames ()).containsExactly ("a" , "b" , "c" , "a" );
46
47
assertThat (psql .getTotalParameterCount ()).isEqualTo (4 );
47
48
assertThat (psql .getNamedParameterCount ()).isEqualTo (3 );
48
49
49
50
String sql2 = "xxx &a yyyy ? zzzzz" ;
50
51
ParsedSql psql2 = NamedParameterUtils .parseSqlStatement (sql2 );
51
- assertThat (psql2 .getParameterNames (). get ( 0 )). isEqualTo ("a" );
52
+ assertThat (psql2 .getParameterNames ()). containsExactly ("a" );
52
53
assertThat (psql2 .getTotalParameterCount ()).isEqualTo (2 );
53
54
assertThat (psql2 .getNamedParameterCount ()).isEqualTo (1 );
54
55
55
56
String sql3 = "xxx &ä+:ö" + '\t' + ":ü%10 yyyy ? zzzzz" ;
56
57
ParsedSql psql3 = NamedParameterUtils .parseSqlStatement (sql3 );
57
- assertThat (psql3 .getParameterNames ()).containsSequence ("ä" , "ö" , "ü" );
58
+ assertThat (psql3 .getParameterNames ()).containsExactly ("ä" , "ö" , "ü" );
58
59
}
59
60
60
61
@ Test // gh-23
@@ -177,9 +178,8 @@ public void parseSqlStatementWithEscapedColon() {
177
178
String sql = "select '0\\ :0' as a, foo from bar where baz < DATE(:p1 23\\ :59\\ :59) and baz = :p2" ;
178
179
179
180
ParsedSql parsedSql = NamedParameterUtils .parseSqlStatement (sql );
180
- assertThat (parsedSql .getParameterNames ()).hasSize (2 );
181
- assertThat (parsedSql .getParameterNames ().get (0 )).isEqualTo ("p1" );
182
- assertThat (parsedSql .getParameterNames ().get (1 )).isEqualTo ("p2" );
181
+
182
+ assertThat (parsedSql .getParameterNames ()).containsExactly ("p1" , "p2" );
183
183
assertThat (expand (parsedSql )).isEqualTo (expectedSql );
184
184
}
185
185
@@ -190,9 +190,7 @@ public void parseSqlStatementWithBracketDelimitedParameterNames() {
190
190
String sql = "select foo from bar where baz = b:{p1}:{p2}z" ;
191
191
192
192
ParsedSql parsedSql = NamedParameterUtils .parseSqlStatement (sql );
193
- assertThat (parsedSql .getParameterNames ()).hasSize (2 );
194
- assertThat (parsedSql .getParameterNames ().get (0 )).isEqualTo ("p1" );
195
- assertThat (parsedSql .getParameterNames ().get (1 )).isEqualTo ("p2" );
193
+ assertThat (parsedSql .getParameterNames ()).containsExactly ("p1" , "p2" );
196
194
assertThat (expand (parsedSql )).isEqualTo (expectedSql );
197
195
}
198
196
@@ -217,12 +215,12 @@ public void parseSqlStatementWithEmptyBracketsOrBracketsInQuotes() {
217
215
218
216
@ Test // gh-23
219
217
public void parseSqlStatementWithSingleLetterInBrackets () {
218
+
220
219
String expectedSql = "select foo from bar where baz = b$1z" ;
221
220
String sql = "select foo from bar where baz = b:{p}z" ;
222
221
223
222
ParsedSql parsedSql = NamedParameterUtils .parseSqlStatement (sql );
224
- assertThat (parsedSql .getParameterNames ()).hasSize (1 );
225
- assertThat (parsedSql .getParameterNames ().get (0 )).isEqualTo ("p" );
223
+ assertThat (parsedSql .getParameterNames ()).containsExactly ("p" );
226
224
assertThat (expand (parsedSql )).isEqualTo (expectedSql );
227
225
}
228
226
@@ -260,7 +258,7 @@ public void parseSqlStatementWithQuotedSingleQuote() {
260
258
ParsedSql psql = NamedParameterUtils .parseSqlStatement (sql );
261
259
262
260
assertThat (psql .getTotalParameterCount ()).isEqualTo (1 );
263
- assertThat (psql .getParameterNames (). get ( 0 )). isEqualTo ("xxx" );
261
+ assertThat (psql .getParameterNames ()). containsExactly ("xxx" );
264
262
}
265
263
266
264
@ Test // gh-23
@@ -271,7 +269,7 @@ public void parseSqlStatementWithQuotesAndCommentBefore() {
271
269
ParsedSql psql = NamedParameterUtils .parseSqlStatement (sql );
272
270
273
271
assertThat (psql .getTotalParameterCount ()).isEqualTo (1 );
274
- assertThat (psql .getParameterNames (). get ( 0 )). isEqualTo ("xxx" );
272
+ assertThat (psql .getParameterNames ()). containsExactly ("xxx" );
275
273
}
276
274
277
275
@ Test // gh-23
@@ -282,7 +280,7 @@ public void parseSqlStatementWithQuotesAndCommentAfter() {
282
280
ParsedSql psql2 = NamedParameterUtils .parseSqlStatement (sql2 );
283
281
284
282
assertThat (psql2 .getTotalParameterCount ()).isEqualTo (1 );
285
- assertThat (psql2 .getParameterNames (). get ( 0 )). isEqualTo ("xxx" );
283
+ assertThat (psql2 .getParameterNames ()). containsExactly ("xxx" );
286
284
}
287
285
288
286
private String expand (ParsedSql sql ) {
0 commit comments