1616
1717package com .google .cloud .spanner .jdbc ;
1818
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 ;
2220import static org .junit .Assert .assertEquals ;
21+ import static org .junit .Assert .assertThrows ;
22+ import static org .junit .Assert .assertTrue ;
2323
2424import com .google .rpc .Code ;
2525import java .io .IOException ;
@@ -75,36 +75,32 @@ public String toString() {
7575 public void testLength () throws SQLException {
7676 JdbcClob clob = new JdbcClob ();
7777 clob .setString (1L , "test" );
78- assertThat ( clob .length (), is ( equalTo ( 4L ) ));
78+ assertEquals ( 4L , clob .length ());
7979 clob .setString (1L , "test-test" );
80- assertThat ( clob .length (), is ( equalTo ( 9L ) ));
80+ assertEquals ( 9L , clob .length ());
8181 }
8282
8383 @ Test
8484 public void testGetSubstring () throws SQLException {
8585 JdbcClob clob = new JdbcClob ();
8686 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 ));
9494
9595 // test invalid parameters
9696 PosLength [] params =
9797 new PosLength [] {PosLength .of (0L , 4 ), PosLength .of (-1L , 4 ), PosLength .of (1L , -1 )};
9898 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 ());
108104 }
109105 }
110106
@@ -116,49 +112,45 @@ public void testGetCharacterStream() throws SQLException, IOException {
116112 try (Reader reader = clob .getCharacterStream ()) {
117113 assertEquals (4 , reader .read (cbuf , 0 , 4 ));
118114 }
119- assertThat ( cbuf , is ( equalTo ( new char [] {'t' , 'e' , 's' , 't' })) );
115+ assertArrayEquals ( new char [] {'t' , 'e' , 's' , 't' }, cbuf );
120116 try (Reader reader = clob .getCharacterStream ()) {
121117 assertEquals (2 , reader .read (cbuf , 0 , 2 ));
122118 assertEquals (2 , reader .read (cbuf , 2 , 2 ));
123119 }
124- assertThat ( cbuf , is ( equalTo ( new char [] {'t' , 'e' , 's' , 't' })) );
120+ assertArrayEquals ( new char [] {'t' , 'e' , 's' , 't' }, cbuf );
125121 try (Reader reader = clob .getCharacterStream ()) {
126122 assertEquals (2 , reader .read (cbuf , 0 , 2 ));
127123 // changing the value of the clob will not change a character stream that has already been
128124 // opened
129125 clob .setString (1L , "foobar" );
130126 assertEquals (2 , reader .read (cbuf , 2 , 2 ));
131127 }
132- assertThat ( cbuf , is ( equalTo ( new char [] {'t' , 'e' , 's' , 't' })) );
128+ assertArrayEquals ( new char [] {'t' , 'e' , 's' , 't' }, cbuf );
133129 }
134130
135131 @ Test
136132 public void testPositionString () throws SQLException {
137133 JdbcClob clob = new JdbcClob ();
138134 clob .setString (1L , "test" );
139- assertThat ( clob .position ("st" , 1L ), is ( equalTo ( 3L ) ));
135+ assertEquals ( 3L , clob .position ("st" , 1L ));
140136 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 ));
149145 // test invalid parameters
150146 PosString [] params =
151147 new PosString [] {PosString .of (0L , "bar" ), PosString .of (-1L , "bar" ), PosString .of (1L , null )};
152148 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 ());
162154 }
163155 }
164156
@@ -168,163 +160,159 @@ public void testPositionClob() throws SQLException {
168160 clob .setString (1L , "test" );
169161 JdbcClob search = new JdbcClob ();
170162 search .setString (1L , "st" );
171- assertThat ( clob .position (search , 1L ), is ( equalTo ( 3L ) ));
163+ assertEquals ( 3L , clob .position (search , 1L ));
172164 clob .setString (1L , "foobarfoobar" );
173165 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 ));
181173 search .setString (1L , "not_there" );
182- assertThat ( clob .position (search , 1L ), is ( equalTo (- 1L ) ));
174+ assertEquals (- 1L , clob .position (search , 1L ));
183175 // test invalid parameters
184176 PosString [] params =
185177 new PosString [] {PosString .of (0L , "bar" ), PosString .of (-1L , "bar" ), PosString .of (1L , null )};
186178 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 ( ));
197189 }
198190 }
199191
200192 @ Test
201193 public void testSetString () throws SQLException {
202194 JdbcClob clob = new JdbcClob ();
203195 clob .setString (1L , "test" );
204- assertThat ( clob .getSubString (1L , 4 ), is ( equalTo ( "test" ) ));
196+ assertEquals ( "test" , clob .getSubString (1L , 4 ));
205197 clob .setString (1L , "bar" );
206- assertThat ( clob .getSubString (1L , 4 ), is ( equalTo ( "bart" ) ));
198+ assertEquals ( "bart" , clob .getSubString (1L , 4 ));
207199 clob .setString (1L , "foobar" );
208- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foobar" ) ));
200+ assertEquals ( "foobar" , clob .getSubString (1L , 6 ));
209201 clob .setString (2L , "foobar" );
210- assertThat ( clob .getSubString (1L , 7 ), is ( equalTo ( "ffoobar" ) ));
202+ assertEquals ( "ffoobar" , clob .getSubString (1L , 7 ));
211203 clob .setString (8L , "test" );
212- assertThat ( clob .getSubString (1L , 11 ), is ( equalTo ( "ffoobartest" ) ));
204+ assertEquals ( "ffoobartest" , clob .getSubString (1L , 11 ));
213205 clob .setString (15 , "end" );
214- assertThat ( clob .getSubString (1L , 17 ), is ( equalTo ( "ffoobartest end" ) ));
206+ assertEquals ( "ffoobartest end" , clob .getSubString (1L , 17 ));
215207 // test invalid parameters
216208 PosString [] params =
217209 new PosString [] {PosString .of (0L , "bar" ), PosString .of (-1L , "bar" ), PosString .of (1L , null )};
218210 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 ());
228216 }
229217 }
230218
231219 @ Test
232220 public void testSetStringOffsetLen () throws SQLException {
233221 JdbcClob clob = new JdbcClob ();
234222 clob .setString (1L , "test" , 2 , 3 );
235- assertThat ( clob .getSubString (1L , 4 ), is ( equalTo ( "est" ) ));
223+ assertEquals ( "est" , clob .getSubString (1L , 4 ));
236224 clob .setString (1L , "bar" , 1 , 1 );
237- assertThat ( clob .getSubString (1L , 4 ), is ( equalTo ( "bst" ) ));
225+ assertEquals ( "bst" , clob .getSubString (1L , 4 ));
238226 clob .setString (1L , "foobar" , 1 , 6 );
239- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foobar" ) ));
227+ assertEquals ( "foobar" , clob .getSubString (1L , 6 ));
240228 clob .setString (2L , "foobar" , 2 , 5 );
241- assertThat ( clob .getSubString (1L , 7 ), is ( equalTo ( "foobar" ) ));
229+ assertEquals ( "foobar" , clob .getSubString (1L , 7 ));
242230 clob .setString (8L , "test" , 4 , 1 );
243- assertThat ( clob .getSubString (1L , 8 ), is ( equalTo ( "foobar t" ) ));
231+ assertEquals ( "foobar t" , clob .getSubString (1L , 8 ));
244232 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 ));
246234 }
247235
248236 @ Test
249237 public void testSetCharacterStream () throws SQLException , IOException {
250238 JdbcClob clob = new JdbcClob ();
251239 clob .setString (1 , "foobar" );
252- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foobar" ) ));
240+ assertEquals ( "foobar" , clob .getSubString (1L , 6 ));
253241 try (Writer writer = clob .setCharacterStream (1L )) {
254242 writer .write ("t" );
255243 // not yet flushed, there should be no change
256- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foobar" ) ));
244+ assertEquals ( "foobar" , clob .getSubString (1L , 6 ));
257245 writer .flush ();
258246 // after a flush the change should be visible
259- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "toobar" ) ));
247+ assertEquals ( "toobar" , clob .getSubString (1L , 6 ));
260248 writer .write ("est" );
261249 }
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 ));
264252
265253 // start all over
266254 clob .free ();
267255 clob .setString (1 , "foobar" );
268- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foobar" ) ));
256+ assertEquals ( "foobar" , clob .getSubString (1L , 6 ));
269257 try (Writer writer = clob .setCharacterStream (5L )) {
270258 writer .write ("t" );
271259 // not yet flushed, there should be no change
272- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foobar" ) ));
260+ assertEquals ( "foobar" , clob .getSubString (1L , 6 ));
273261 writer .flush ();
274262 // after a flush the change should be visible
275- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foobtr" ) ));
263+ assertEquals ( "foobtr" , clob .getSubString (1L , 6 ));
276264 writer .write ("est" );
277265 }
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 ));
280268
281269 // do a test with multiple flushes
282270 clob .free ();
283271 clob .setString (1 , "foobar" );
284- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foobar" ) ));
272+ assertEquals ( "foobar" , clob .getSubString (1L , 6 ));
285273 try (Writer writer = clob .setCharacterStream (1L )) {
286274 writer .write ("t" );
287- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foobar" ) ));
275+ assertEquals ( "foobar" , clob .getSubString (1L , 6 ));
288276 writer .flush ();
289- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "toobar" ) ));
277+ assertEquals ( "toobar" , clob .getSubString (1L , 6 ));
290278 writer .write ("est" );
291- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "toobar" ) ));
279+ assertEquals ( "toobar" , clob .getSubString (1L , 6 ));
292280 writer .flush ();
293- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "testar" ) ));
281+ assertEquals ( "testar" , clob .getSubString (1L , 6 ));
294282 }
295- assertThat ( clob .getSubString (1L , 8 ), is ( equalTo ( "testar" ) ));
283+ assertEquals ( "testar" , clob .getSubString (1L , 8 ));
296284
297285 // writer after end
298286 clob .free ();
299287 clob .setString (1 , "foobar" );
300- assertThat ( clob .getSubString (1L , 10 ), is ( equalTo ( "foobar" ) ));
288+ assertEquals ( "foobar" , clob .getSubString (1L , 10 ));
301289 try (Writer writer = clob .setCharacterStream (10L )) {
302290 writer .write ("t" );
303- assertThat ( clob .getSubString (1L , 20 ), is ( equalTo ( "foobar" ) ));
291+ assertEquals ( "foobar" , clob .getSubString (1L , 20 ));
304292 writer .flush ();
305- assertThat ( clob .getSubString (1L , 20 ), is ( equalTo ( "foobar t" ) ));
293+ assertEquals ( "foobar t" , clob .getSubString (1L , 20 ));
306294 writer .write ("est" );
307295 }
308- assertThat ( clob .getSubString (1L , 20 ), is ( equalTo ( "foobar test" ) ));
296+ assertEquals ( "foobar test" , clob .getSubString (1L , 20 ));
309297 }
310298
311299 @ Test
312300 public void testTruncate () throws SQLException {
313301 JdbcClob clob = new JdbcClob ();
314302 clob .setString (1L , "foobar" );
315- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foobar" ) ));
303+ assertEquals ( "foobar" , clob .getSubString (1L , 6 ));
316304 clob .truncate (3L );
317- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foo" ) ));
305+ assertEquals ( "foo" , clob .getSubString (1L , 6 ));
318306 clob .truncate (0L );
319- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "" ) ));
307+ assertEquals ( "" , clob .getSubString (1L , 6 ));
320308 }
321309
322310 @ Test
323311 public void testFree () throws SQLException {
324312 JdbcClob clob = new JdbcClob ();
325313 clob .setString (1L , "foobar" );
326- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "foobar" ) ));
314+ assertEquals ( "foobar" , clob .getSubString (1L , 6 ));
327315 clob .free ();
328- assertThat ( clob .getSubString (1L , 6 ), is ( equalTo ( "" ) ));
316+ assertEquals ( "" , clob .getSubString (1L , 6 ));
329317 }
330318}
0 commit comments