@@ -303,11 +303,8 @@ public void testStringArray() {
303303 @ Test
304304 public void testTimestampFromLong () {
305305 // Expects output to be ISO8601 string with microsecond precision
306- QueryParameterValue value = QueryParameterValue .timestamp (1408452095220000L );
307- assertThat (value .getValue ()).isEqualTo ("2014-08-19 12:41:35.220000+00:00" );
308- assertThat (value .getType ()).isEqualTo (StandardSQLTypeName .TIMESTAMP );
309- assertThat (value .getArrayType ()).isNull ();
310- assertThat (value .getArrayValues ()).isNull ();
306+ assertTimestampValue (
307+ QueryParameterValue .timestamp (1408452095220000L ), "2014-08-19 12:41:35.220000+00:00" );
311308 }
312309
313310 @ Test
@@ -318,41 +315,27 @@ public void testTimestampWithFormatter() {
318315 int nano = (int ) Math .floorMod (timestampInMicroseconds , microseconds ) * 1000 ;
319316 Instant instant = Instant .ofEpochSecond (secs , nano );
320317 String expected = TIMESTAMP_FORMATTER .format (instant );
321- assertThat (expected )
322- .isEqualTo (QueryParameterValue .timestamp (timestampInMicroseconds ).getValue ());
318+ assertTimestampValue (QueryParameterValue .timestamp (timestampInMicroseconds ), expected );
323319 }
324320
325321 @ Test
326322 public void testTimestampFromString () {
327- QueryParameterValue value = QueryParameterValue .timestamp ("2014-08-19 12:41:35.220000+00:00" );
328- assertThat (value .getValue ()).isEqualTo ("2014-08-19 12:41:35.220000+00:00" );
329- assertThat (value .getType ()).isEqualTo (StandardSQLTypeName .TIMESTAMP );
330- assertThat (value .getArrayType ()).isNull ();
331- assertThat (value .getArrayValues ()).isNull ();
332-
333- QueryParameterValue value1 =
334- QueryParameterValue .timestamp ("2025-08-19 12:34:56.123456789+00:00" );
335- assertThat (value1 .getValue ()).isEqualTo ("2025-08-19 12:34:56.123456789+00:00" );
336- assertThat (value1 .getType ()).isEqualTo (StandardSQLTypeName .TIMESTAMP );
337- assertThat (value1 .getArrayType ()).isNull ();
338- assertThat (value1 .getArrayValues ()).isNull ();
323+ assertTimestampValue (
324+ QueryParameterValue .timestamp ("2014-08-19 12:41:35.220000+00:00" ),
325+ "2014-08-19 12:41:35.220000+00:00" );
326+ assertTimestampValue (
327+ QueryParameterValue .timestamp ("2025-08-19 12:34:56.123456789+00:00" ),
328+ "2025-08-19 12:34:56.123456789+00:00" );
339329
340330 // The following test cases test more than nanosecond precision
341331 // 10 digits of precision (1 digit more than nanosecond)
342- QueryParameterValue value2 =
343- QueryParameterValue .timestamp ("2025-12-08 12:34:56.1234567890+00:00" );
344- assertThat (value2 .getValue ()).isEqualTo ("2025-12-08 12:34:56.1234567890+00:00" );
345- assertThat (value2 .getType ()).isEqualTo (StandardSQLTypeName .TIMESTAMP );
346- assertThat (value2 .getArrayType ()).isNull ();
347- assertThat (value2 .getArrayValues ()).isNull ();
348-
332+ assertTimestampValue (
333+ QueryParameterValue .timestamp ("2025-12-08 12:34:56.1234567890+00:00" ),
334+ "2025-12-08 12:34:56.1234567890+00:00" );
349335 // 12 digits (picosecond precision)
350- QueryParameterValue value3 =
351- QueryParameterValue .timestamp ("2025-12-08 12:34:56.123456789123+00:00" );
352- assertThat (value3 .getValue ()).isEqualTo ("2025-12-08 12:34:56.123456789123+00:00" );
353- assertThat (value3 .getType ()).isEqualTo (StandardSQLTypeName .TIMESTAMP );
354- assertThat (value3 .getArrayType ()).isNull ();
355- assertThat (value3 .getArrayValues ()).isNull ();
336+ assertTimestampValue (
337+ QueryParameterValue .timestamp ("2025-12-08 12:34:56.123456789123+00:00" ),
338+ "2025-12-08 12:34:56.123456789123+00:00" );
356339
357340 // More than picosecond precision
358341 assertThrows (
@@ -366,21 +349,15 @@ public void testTimestampFromString() {
366349
367350 @ Test
368351 public void testTimestampWithDateTimeFormatterBuilder () {
369- QueryParameterValue value = QueryParameterValue .timestamp ("2019-02-14 12:34:45.938993Z" );
370- assertThat (value .getValue ()).isEqualTo ("2019-02-14 12:34:45.938993Z" );
371- assertThat (value .getType ()).isEqualTo (StandardSQLTypeName .TIMESTAMP );
372- assertThat (value .getArrayType ()).isNull ();
373- assertThat (value .getArrayValues ()).isNull ();
374- QueryParameterValue value1 = QueryParameterValue .timestamp ("2019-02-14 12:34:45.938993+0000" );
375- assertThat (value1 .getValue ()).isEqualTo ("2019-02-14 12:34:45.938993+0000" );
376- assertThat (value1 .getType ()).isEqualTo (StandardSQLTypeName .TIMESTAMP );
377- assertThat (value1 .getArrayType ()).isNull ();
378- assertThat (value1 .getArrayValues ()).isNull ();
379- QueryParameterValue value2 = QueryParameterValue .timestamp ("2019-02-14 12:34:45.102+00:00" );
380- assertThat (value2 .getValue ()).isEqualTo ("2019-02-14 12:34:45.102+00:00" );
381- assertThat (value2 .getType ()).isEqualTo (StandardSQLTypeName .TIMESTAMP );
382- assertThat (value2 .getArrayType ()).isNull ();
383- assertThat (value2 .getArrayValues ()).isNull ();
352+ assertTimestampValue (
353+ QueryParameterValue .timestamp ("2019-02-14 12:34:45.938993Z" ),
354+ "2019-02-14 12:34:45.938993Z" );
355+ assertTimestampValue (
356+ QueryParameterValue .timestamp ("2019-02-14 12:34:45.938993+0000" ),
357+ "2019-02-14 12:34:45.938993+0000" );
358+ assertTimestampValue (
359+ QueryParameterValue .timestamp ("2019-02-14 12:34:45.102+00:00" ),
360+ "2019-02-14 12:34:45.102+00:00" );
384361 }
385362
386363 @ Test
@@ -714,4 +691,11 @@ private static void testRangeDataEquals(String start, String end, FieldElementTy
714691 assertThat (queryParameterValue .getStructValues ()).isNull ();
715692 assertThat (queryParameterValue .getValue ()).isNull ();
716693 }
694+
695+ private void assertTimestampValue (QueryParameterValue value , String expectedStringValue ) {
696+ assertThat (value .getValue ()).isEqualTo (expectedStringValue );
697+ assertThat (value .getType ()).isEqualTo (StandardSQLTypeName .TIMESTAMP );
698+ assertThat (value .getArrayType ()).isNull ();
699+ assertThat (value .getArrayValues ()).isNull ();
700+ }
717701}
0 commit comments