geruh commented on code in PR #2204: URL: https://github.com/apache/iceberg-python/pull/2204#discussion_r2206242808
########## tests/io/test_pyarrow.py: ########## @@ -2350,6 +2350,72 @@ def test_partition_for_demo() -> None: ) +def test_partition_for_nested_field() -> None: + schema = Schema( + NestedField(id=1, name="foo", field_type=StringType(), required=True), + NestedField( + id=2, + name="bar", + field_type=StructType( + NestedField(id=3, name="baz", field_type=TimestampType(), required=False), + NestedField(id=4, name="qux", field_type=IntegerType(), required=False), + ), + required=True, + ), + ) + + spec = PartitionSpec(PartitionField(source_id=3, field_id=1000, transform=HourTransform(), name="ts")) + + from datetime import datetime + + t1 = datetime(2025, 7, 11, 9, 30, 0) + t2 = datetime(2025, 7, 11, 10, 30, 0) + + test_data = [ + {"foo": "a", "bar": {"baz": t1, "qux": 1}}, + {"foo": "b", "bar": {"baz": t2, "qux": 2}}, + ] + + arrow_table = pa.Table.from_pylist(test_data, schema=schema.as_arrow()) + partitions = _determine_partitions(spec, schema, arrow_table) Review Comment: I actually copied the existing _determine_partition tests from this test suite and added these I can add another test for this though -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org