@@ -263,16 +263,16 @@ def test_datetime
263263 end
264264
265265 def test_time
266- converter = ValueConverterFactory . new (
267- SCHEMA_TYPE , 'TIME' ,
268- timestamp_format : '%H:%M:%S'
269- ) . create_converter
266+ converter = ValueConverterFactory . new ( SCHEMA_TYPE , 'TIME' ) . create_converter
270267 assert_equal nil , converter . call ( nil )
271268 assert_equal "00:03:22.000000" , converter . call ( "00:03:22" )
272269 assert_equal "15:22:00.000000" , converter . call ( "3:22 PM" )
273270 assert_equal "03:22:00.000000" , converter . call ( "3:22 AM" )
274- assert_equal "15:22:00.000000" , converter . call ( "15:22" )
275- assert_equal "10:00:00.000000" , converter . call ( "2024-07-24 10:00" )
271+
272+ # Users must care of BQ datetime format by themselves with no timestamp_format
273+ converter = ValueConverterFactory . new ( SCHEMA_TYPE , 'TIME' ) . create_converter
274+ assert_equal nil , converter . call ( nil )
275+ assert_equal "00:00:00.000000" , converter . call ( "2016-02-26 00:00:00" )
276276 end
277277
278278 def test_record
@@ -363,6 +363,24 @@ def test_datetime
363363 assert_raise { converter . call ( 'foo' ) }
364364 end
365365
366+ def test_time
367+ converter = ValueConverterFactory . new ( SCHEMA_TYPE , 'TIME' ) . create_converter
368+ assert_equal nil , converter . call ( nil )
369+ timestamp = Time . parse ( "2016-02-26 00:00:00.500000 +00:00" )
370+ expected = "00:00:00.500000"
371+ assert_equal expected , converter . call ( timestamp )
372+
373+ converter = ValueConverterFactory . new (
374+ SCHEMA_TYPE , 'TIME' , timezone : 'Asia/Tokyo'
375+ ) . create_converter
376+ assert_equal nil , converter . call ( nil )
377+ timestamp = Time . parse ( "2016-02-25 15:00:00.500000 +00:00" )
378+ expected = "00:00:00.500000"
379+ assert_equal expected , converter . call ( timestamp )
380+
381+ assert_raise { converter . call ( 'foo' ) }
382+ end
383+
366384 def test_record
367385 assert_raise { ValueConverterFactory . new ( SCHEMA_TYPE , 'RECORD' ) . create_converter }
368386 end
0 commit comments