@@ -575,6 +575,15 @@ def test_datetime_obj_to_bytes(primitive_type: PrimitiveType, value: datetime |
575575 (TimeType (), time (22 , 31 , 8 , 123456 ), "22:31:08.123456" ),
576576 (TimestampType (), datetime (2017 , 11 , 16 , 22 , 31 , 8 , 123456 ), "2017-11-16T22:31:08.123456" ),
577577 (TimestamptzType (), datetime (2017 , 11 , 16 , 22 , 31 , 8 , 123456 , tzinfo = timezone .utc ), "2017-11-16T22:31:08.123456+00:00" ),
578+ (TimestampNanoType (), 1510871468123456789 , "2017-11-16T22:31:08.123456789" ),
579+ (TimestamptzNanoType (), 1510871468123456789 , "2017-11-16T22:31:08.123456789+00:00" ),
580+ # Python datetime only carries microseconds, so the last three digits are zero
581+ (TimestampNanoType (), datetime (2017 , 11 , 16 , 22 , 31 , 8 , 123456 ), "2017-11-16T22:31:08.123456000" ),
582+ (
583+ TimestamptzNanoType (),
584+ datetime (2017 , 11 , 16 , 22 , 31 , 8 , 123456 , tzinfo = timezone .utc ),
585+ "2017-11-16T22:31:08.123456000+00:00" ,
586+ ),
578587 (StringType (), "iceberg" , "iceberg" ),
579588 (BinaryType (), b"\x01 \x02 \x03 \xff " , "010203ff" ),
580589 (FixedType (4 ), b"\x01 \x02 \x03 \xff " , "010203ff" ),
@@ -600,6 +609,8 @@ def test_json_single_serialization(primitive_type: PrimitiveType, value: Any, ex
600609 (TimeType (), time (22 , 31 , 8 , 123456 )),
601610 (TimestampType (), datetime (2017 , 11 , 16 , 22 , 31 , 8 , 123456 )),
602611 (TimestamptzType (), datetime (2017 , 11 , 16 , 22 , 31 , 8 , 123456 , tzinfo = timezone .utc )),
612+ (TimestampNanoType (), 1510871468123456789 ),
613+ (TimestamptzNanoType (), 1510871468123456789 ),
603614 (StringType (), "iceberg" ),
604615 (BinaryType (), b"\x01 \x02 \x03 \xff " ),
605616 (FixedType (4 ), b"\x01 \x02 \x03 \xff " ),
0 commit comments