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