16
16
17
17
package com .google .cloud .spanner .jdbc ;
18
18
19
- import static org .hamcrest .CoreMatchers .equalTo ;
20
- import static org .hamcrest .CoreMatchers .is ;
21
- import static org .hamcrest .MatcherAssert .assertThat ;
19
+ import static org .junit .Assert .assertArrayEquals ;
22
20
import static org .junit .Assert .assertEquals ;
21
+ import static org .junit .Assert .assertThrows ;
22
+ import static org .junit .Assert .assertTrue ;
23
23
24
24
import com .google .rpc .Code ;
25
25
import java .io .IOException ;
@@ -75,36 +75,32 @@ public String toString() {
75
75
public void testLength () throws SQLException {
76
76
JdbcClob clob = new JdbcClob ();
77
77
clob .setString (1L , "test" );
78
- assertThat ( clob .length (), is ( equalTo ( 4L ) ));
78
+ assertEquals ( 4L , clob .length ());
79
79
clob .setString (1L , "test-test" );
80
- assertThat ( clob .length (), is ( equalTo ( 9L ) ));
80
+ assertEquals ( 9L , clob .length ());
81
81
}
82
82
83
83
@ Test
84
84
public void testGetSubstring () throws SQLException {
85
85
JdbcClob clob = new JdbcClob ();
86
86
clob .setString (1L , "test" );
87
- assertThat ( clob .getSubString (1 , 4 ), is ( equalTo ( "test" ) ));
88
- assertThat ( clob .getSubString (1 , 2 ), is ( equalTo ( "te" ) ));
89
- assertThat ( clob .getSubString (3 , 2 ), is ( equalTo ( "st" ) ));
90
- assertThat ( clob .getSubString (1 , 5 ), is ( equalTo ( "test" ) ));
91
- assertThat ( clob .getSubString (4 , 5 ), is ( equalTo ( "t" ) ));
92
- assertThat ( clob .getSubString (5 , 5 ), is ( equalTo ( "" ) ));
93
- assertThat ( clob .getSubString (6 , 5 ), is ( equalTo ( "" ) ));
87
+ assertEquals ( "test" , clob .getSubString (1 , 4 ));
88
+ assertEquals ( "te" , clob .getSubString (1 , 2 ));
89
+ assertEquals ( "st" , clob .getSubString (3 , 2 ));
90
+ assertEquals ( "test" , clob .getSubString (1 , 5 ));
91
+ assertEquals ( "t" , clob .getSubString (4 , 5 ));
92
+ assertEquals ( "" , clob .getSubString (5 , 5 ));
93
+ assertEquals ( "" , clob .getSubString (6 , 5 ));
94
94
95
95
// test invalid parameters
96
96
PosLength [] params =
97
97
new PosLength [] {PosLength .of (0L , 4 ), PosLength .of (-1L , 4 ), PosLength .of (1L , -1 )};
98
98
for (PosLength param : params ) {
99
- boolean exception = false ;
100
- try {
101
- clob .getSubString (param .pos , param .len );
102
- } catch (SQLException e ) {
103
- exception =
104
- (e instanceof JdbcSqlException
105
- && ((JdbcSqlException ) e ).getCode () == Code .INVALID_ARGUMENT );
106
- }
107
- assertThat (param .toString (), exception , is (true ));
99
+ SQLException sqlException =
100
+ assertThrows (SQLException .class , () -> clob .getSubString (param .pos , param .len ));
101
+ assertTrue (sqlException instanceof JdbcSqlException );
102
+ JdbcSqlException jdbcSqlException = (JdbcSqlException ) sqlException ;
103
+ assertEquals (Code .INVALID_ARGUMENT , jdbcSqlException .getCode ());
108
104
}
109
105
}
110
106
@@ -116,49 +112,45 @@ public void testGetCharacterStream() throws SQLException, IOException {
116
112
try (Reader reader = clob .getCharacterStream ()) {
117
113
assertEquals (4 , reader .read (cbuf , 0 , 4 ));
118
114
}
119
- assertThat ( cbuf , is ( equalTo ( new char [] {'t' , 'e' , 's' , 't' })) );
115
+ assertArrayEquals ( new char [] {'t' , 'e' , 's' , 't' }, cbuf );
120
116
try (Reader reader = clob .getCharacterStream ()) {
121
117
assertEquals (2 , reader .read (cbuf , 0 , 2 ));
122
118
assertEquals (2 , reader .read (cbuf , 2 , 2 ));
123
119
}
124
- assertThat ( cbuf , is ( equalTo ( new char [] {'t' , 'e' , 's' , 't' })) );
120
+ assertArrayEquals ( new char [] {'t' , 'e' , 's' , 't' }, cbuf );
125
121
try (Reader reader = clob .getCharacterStream ()) {
126
122
assertEquals (2 , reader .read (cbuf , 0 , 2 ));
127
123
// changing the value of the clob will not change a character stream that has already been
128
124
// opened
129
125
clob .setString (1L , "foobar" );
130
126
assertEquals (2 , reader .read (cbuf , 2 , 2 ));
131
127
}
132
- assertThat ( cbuf , is ( equalTo ( new char [] {'t' , 'e' , 's' , 't' })) );
128
+ assertArrayEquals ( new char [] {'t' , 'e' , 's' , 't' }, cbuf );
133
129
}
134
130
135
131
@ Test
136
132
public void testPositionString () throws SQLException {
137
133
JdbcClob clob = new JdbcClob ();
138
134
clob .setString (1L , "test" );
139
- assertThat ( clob .position ("st" , 1L ), is ( equalTo ( 3L ) ));
135
+ assertEquals ( 3L , clob .position ("st" , 1L ));
140
136
clob .setString (1L , "foobarfoobar" );
141
- assertThat ( clob .position ("bar" , 1L ), is ( equalTo ( 4L ) ));
142
- assertThat ( clob .position ("bar" , 2L ), is ( equalTo ( 4L ) ));
143
- assertThat ( clob .position ("bar" , 5L ), is ( equalTo ( 10L ) ));
144
- assertThat ( clob .position ("bar" , 8L ), is ( equalTo ( 10L ) ));
145
- assertThat ( clob .position ("bar" , 10L ), is ( equalTo ( 10L ) ));
146
- assertThat ( clob .position ("bar" , 11L ), is ( equalTo (- 1L ) ));
147
- assertThat ( clob .position ("bar" , 100L ), is ( equalTo (- 1L ) ));
148
- assertThat ( clob .position ("not_there" , 1L ), is ( equalTo (- 1L ) ));
137
+ assertEquals ( 4L , clob .position ("bar" , 1L ));
138
+ assertEquals ( 4L , clob .position ("bar" , 2L ));
139
+ assertEquals ( 10L , clob .position ("bar" , 5L ));
140
+ assertEquals ( 10L , clob .position ("bar" , 8L ));
141
+ assertEquals ( 10L , clob .position ("bar" , 10L ));
142
+ assertEquals (- 1L , clob .position ("bar" , 11L ));
143
+ assertEquals (- 1L , clob .position ("bar" , 100L ));
144
+ assertEquals (- 1L , clob .position ("not_there" , 1L ));
149
145
// test invalid parameters
150
146
PosString [] params =
151
147
new PosString [] {PosString .of (0L , "bar" ), PosString .of (-1L , "bar" ), PosString .of (1L , null )};
152
148
for (PosString param : params ) {
153
- boolean exception = false ;
154
- try {
155
- clob .position (param .str , param .pos );
156
- } catch (SQLException e ) {
157
- exception =
158
- (e instanceof JdbcSqlException
159
- && ((JdbcSqlException ) e ).getCode () == Code .INVALID_ARGUMENT );
160
- }
161
- assertThat (param .toString (), exception , is (true ));
149
+ SQLException sqlException =
150
+ assertThrows (SQLException .class , () -> clob .position (param .str , param .pos ));
151
+ assertTrue (sqlException instanceof JdbcSqlException );
152
+ JdbcSqlException jdbcSqlException = (JdbcSqlException ) sqlException ;
153
+ assertEquals (Code .INVALID_ARGUMENT , jdbcSqlException .getCode ());
162
154
}
163
155
}
164
156
@@ -168,163 +160,159 @@ public void testPositionClob() throws SQLException {
168
160
clob .setString (1L , "test" );
169
161
JdbcClob search = new JdbcClob ();
170
162
search .setString (1L , "st" );
171
- assertThat ( clob .position (search , 1L ), is ( equalTo ( 3L ) ));
163
+ assertEquals ( 3L , clob .position (search , 1L ));
172
164
clob .setString (1L , "foobarfoobar" );
173
165
search .setString (1L , "bar" );
174
- assertThat ( clob .position (search , 1L ), is ( equalTo ( 4L ) ));
175
- assertThat ( clob .position (search , 2L ), is ( equalTo ( 4L ) ));
176
- assertThat ( clob .position (search , 5L ), is ( equalTo ( 10L ) ));
177
- assertThat ( clob .position (search , 8L ), is ( equalTo ( 10L ) ));
178
- assertThat ( clob .position (search , 10L ), is ( equalTo ( 10L ) ));
179
- assertThat ( clob .position (search , 11L ), is ( equalTo (- 1L ) ));
180
- assertThat ( clob .position (search , 100L ), is ( equalTo (- 1L ) ));
166
+ assertEquals ( 4L , clob .position (search , 1L ));
167
+ assertEquals ( 4L , clob .position (search , 2L ));
168
+ assertEquals ( 10L , clob .position (search , 5L ));
169
+ assertEquals ( 10L , clob .position (search , 8L ));
170
+ assertEquals ( 10L , clob .position (search , 10L ));
171
+ assertEquals (- 1L , clob .position (search , 11L ));
172
+ assertEquals (- 1L , clob .position (search , 100L ));
181
173
search .setString (1L , "not_there" );
182
- assertThat ( clob .position (search , 1L ), is ( equalTo (- 1L ) ));
174
+ assertEquals (- 1L , clob .position (search , 1L ));
183
175
// test invalid parameters
184
176
PosString [] params =
185
177
new PosString [] {PosString .of (0L , "bar" ), PosString .of (-1L , "bar" ), PosString .of (1L , null )};
186
178
for (PosString param : params ) {
187
- boolean exception = false ;
188
- try {
189
- search . setString ( 1L , param . str );
190
- clob . position ( search , param . pos );
191
- } catch ( SQLException e ) {
192
- exception =
193
- ( e instanceof JdbcSqlException
194
- && (( JdbcSqlException ) e ). getCode () == Code . INVALID_ARGUMENT );
195
- }
196
- assertThat ( param . toString (), exception , is ( true ));
179
+ SQLException sqlException =
180
+ assertThrows (
181
+ SQLException . class ,
182
+ () -> {
183
+ search . setString ( 1L , param . str );
184
+ clob . position ( search , param . pos );
185
+ });
186
+ assertTrue ( sqlException instanceof JdbcSqlException );
187
+ JdbcSqlException jdbcSqlException = ( JdbcSqlException ) sqlException ;
188
+ assertEquals ( Code . INVALID_ARGUMENT , jdbcSqlException . getCode ( ));
197
189
}
198
190
}
199
191
200
192
@ Test
201
193
public void testSetString () throws SQLException {
202
194
JdbcClob clob = new JdbcClob ();
203
195
clob .setString (1L , "test" );
204
- assertThat ( clob .getSubString (1L , 4 ), is ( equalTo ( "test" ) ));
196
+ assertEquals ( "test" , clob .getSubString (1L , 4 ));
205
197
clob .setString (1L , "bar" );
206
- assertThat ( clob .getSubString (1L , 4 ), is ( equalTo ( "bart" ) ));
198
+ assertEquals ( "bart" , clob .getSubString (1L , 4 ));
207
199
clob .setString (1L , "foobar" );
208
- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foobar" ) ));
200
+ assertEquals ( "foobar" , clob .getSubString (1L , 6 ));
209
201
clob .setString (2L , "foobar" );
210
- assertThat ( clob .getSubString (1L , 7 ), is ( equalTo ( "ffoobar" ) ));
202
+ assertEquals ( "ffoobar" , clob .getSubString (1L , 7 ));
211
203
clob .setString (8L , "test" );
212
- assertThat ( clob .getSubString (1L , 11 ), is ( equalTo ( "ffoobartest" ) ));
204
+ assertEquals ( "ffoobartest" , clob .getSubString (1L , 11 ));
213
205
clob .setString (15 , "end" );
214
- assertThat ( clob .getSubString (1L , 17 ), is ( equalTo ( "ffoobartest end" ) ));
206
+ assertEquals ( "ffoobartest end" , clob .getSubString (1L , 17 ));
215
207
// test invalid parameters
216
208
PosString [] params =
217
209
new PosString [] {PosString .of (0L , "bar" ), PosString .of (-1L , "bar" ), PosString .of (1L , null )};
218
210
for (PosString param : params ) {
219
- boolean exception = false ;
220
- try {
221
- clob .setString (param .pos , param .str );
222
- } catch (SQLException e ) {
223
- exception =
224
- (e instanceof JdbcSqlException
225
- && ((JdbcSqlException ) e ).getCode () == Code .INVALID_ARGUMENT );
226
- }
227
- assertThat (param .toString (), exception , is (true ));
211
+ SQLException sqlException =
212
+ assertThrows (SQLException .class , () -> clob .setString (param .pos , param .str ));
213
+ assertTrue (sqlException instanceof JdbcSqlException );
214
+ JdbcSqlException jdbcSqlException = (JdbcSqlException ) sqlException ;
215
+ assertEquals (Code .INVALID_ARGUMENT , jdbcSqlException .getCode ());
228
216
}
229
217
}
230
218
231
219
@ Test
232
220
public void testSetStringOffsetLen () throws SQLException {
233
221
JdbcClob clob = new JdbcClob ();
234
222
clob .setString (1L , "test" , 2 , 3 );
235
- assertThat ( clob .getSubString (1L , 4 ), is ( equalTo ( "est" ) ));
223
+ assertEquals ( "est" , clob .getSubString (1L , 4 ));
236
224
clob .setString (1L , "bar" , 1 , 1 );
237
- assertThat ( clob .getSubString (1L , 4 ), is ( equalTo ( "bst" ) ));
225
+ assertEquals ( "bst" , clob .getSubString (1L , 4 ));
238
226
clob .setString (1L , "foobar" , 1 , 6 );
239
- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foobar" ) ));
227
+ assertEquals ( "foobar" , clob .getSubString (1L , 6 ));
240
228
clob .setString (2L , "foobar" , 2 , 5 );
241
- assertThat ( clob .getSubString (1L , 7 ), is ( equalTo ( "foobar" ) ));
229
+ assertEquals ( "foobar" , clob .getSubString (1L , 7 ));
242
230
clob .setString (8L , "test" , 4 , 1 );
243
- assertThat ( clob .getSubString (1L , 8 ), is ( equalTo ( "foobar t" ) ));
231
+ assertEquals ( "foobar t" , clob .getSubString (1L , 8 ));
244
232
clob .setString (15 , "end" , 1 , 3 );
245
- assertThat ( clob . getSubString ( 1L , 17 ), is ( equalTo ( "foobar t end" ) ));
233
+ assertEquals ( "foobar t end" , clob . getSubString ( 1L , 17 ));
246
234
}
247
235
248
236
@ Test
249
237
public void testSetCharacterStream () throws SQLException , IOException {
250
238
JdbcClob clob = new JdbcClob ();
251
239
clob .setString (1 , "foobar" );
252
- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foobar" ) ));
240
+ assertEquals ( "foobar" , clob .getSubString (1L , 6 ));
253
241
try (Writer writer = clob .setCharacterStream (1L )) {
254
242
writer .write ("t" );
255
243
// not yet flushed, there should be no change
256
- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foobar" ) ));
244
+ assertEquals ( "foobar" , clob .getSubString (1L , 6 ));
257
245
writer .flush ();
258
246
// after a flush the change should be visible
259
- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "toobar" ) ));
247
+ assertEquals ( "toobar" , clob .getSubString (1L , 6 ));
260
248
writer .write ("est" );
261
249
}
262
- // close should also autoflush
263
- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "testar" ) ));
250
+ // close should also auto-flush
251
+ assertEquals ( "testar" , clob .getSubString (1L , 6 ));
264
252
265
253
// start all over
266
254
clob .free ();
267
255
clob .setString (1 , "foobar" );
268
- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foobar" ) ));
256
+ assertEquals ( "foobar" , clob .getSubString (1L , 6 ));
269
257
try (Writer writer = clob .setCharacterStream (5L )) {
270
258
writer .write ("t" );
271
259
// not yet flushed, there should be no change
272
- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foobar" ) ));
260
+ assertEquals ( "foobar" , clob .getSubString (1L , 6 ));
273
261
writer .flush ();
274
262
// after a flush the change should be visible
275
- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foobtr" ) ));
263
+ assertEquals ( "foobtr" , clob .getSubString (1L , 6 ));
276
264
writer .write ("est" );
277
265
}
278
- // close should also autoflush
279
- assertThat ( clob .getSubString (1L , 8 ), is ( equalTo ( "foobtest" ) ));
266
+ // close should also auto-flush
267
+ assertEquals ( "foobtest" , clob .getSubString (1L , 8 ));
280
268
281
269
// do a test with multiple flushes
282
270
clob .free ();
283
271
clob .setString (1 , "foobar" );
284
- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foobar" ) ));
272
+ assertEquals ( "foobar" , clob .getSubString (1L , 6 ));
285
273
try (Writer writer = clob .setCharacterStream (1L )) {
286
274
writer .write ("t" );
287
- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foobar" ) ));
275
+ assertEquals ( "foobar" , clob .getSubString (1L , 6 ));
288
276
writer .flush ();
289
- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "toobar" ) ));
277
+ assertEquals ( "toobar" , clob .getSubString (1L , 6 ));
290
278
writer .write ("est" );
291
- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "toobar" ) ));
279
+ assertEquals ( "toobar" , clob .getSubString (1L , 6 ));
292
280
writer .flush ();
293
- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "testar" ) ));
281
+ assertEquals ( "testar" , clob .getSubString (1L , 6 ));
294
282
}
295
- assertThat ( clob .getSubString (1L , 8 ), is ( equalTo ( "testar" ) ));
283
+ assertEquals ( "testar" , clob .getSubString (1L , 8 ));
296
284
297
285
// writer after end
298
286
clob .free ();
299
287
clob .setString (1 , "foobar" );
300
- assertThat ( clob .getSubString (1L , 10 ), is ( equalTo ( "foobar" ) ));
288
+ assertEquals ( "foobar" , clob .getSubString (1L , 10 ));
301
289
try (Writer writer = clob .setCharacterStream (10L )) {
302
290
writer .write ("t" );
303
- assertThat ( clob .getSubString (1L , 20 ), is ( equalTo ( "foobar" ) ));
291
+ assertEquals ( "foobar" , clob .getSubString (1L , 20 ));
304
292
writer .flush ();
305
- assertThat ( clob .getSubString (1L , 20 ), is ( equalTo ( "foobar t" ) ));
293
+ assertEquals ( "foobar t" , clob .getSubString (1L , 20 ));
306
294
writer .write ("est" );
307
295
}
308
- assertThat ( clob .getSubString (1L , 20 ), is ( equalTo ( "foobar test" ) ));
296
+ assertEquals ( "foobar test" , clob .getSubString (1L , 20 ));
309
297
}
310
298
311
299
@ Test
312
300
public void testTruncate () throws SQLException {
313
301
JdbcClob clob = new JdbcClob ();
314
302
clob .setString (1L , "foobar" );
315
- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foobar" ) ));
303
+ assertEquals ( "foobar" , clob .getSubString (1L , 6 ));
316
304
clob .truncate (3L );
317
- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foo" ) ));
305
+ assertEquals ( "foo" , clob .getSubString (1L , 6 ));
318
306
clob .truncate (0L );
319
- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "" ) ));
307
+ assertEquals ( "" , clob .getSubString (1L , 6 ));
320
308
}
321
309
322
310
@ Test
323
311
public void testFree () throws SQLException {
324
312
JdbcClob clob = new JdbcClob ();
325
313
clob .setString (1L , "foobar" );
326
- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foobar" ) ));
314
+ assertEquals ( "foobar" , clob .getSubString (1L , 6 ));
327
315
clob .free ();
328
- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "" ) ));
316
+ assertEquals ( "" , clob .getSubString (1L , 6 ));
329
317
}
330
318
}
0 commit comments