(tempdir)
| 513 | |
| 514 | |
| 515 | def test_metadata_hashing(tempdir): |
| 516 | path1 = str(tempdir / "metadata1") |
| 517 | schema1 = pa.schema([("a", "int64"), ("b", "float64")]) |
| 518 | pq.write_metadata(schema1, path1) |
| 519 | parquet_meta1 = pq.read_metadata(path1) |
| 520 | |
| 521 | # Same as 1, just different path |
| 522 | path2 = str(tempdir / "metadata2") |
| 523 | schema2 = pa.schema([("a", "int64"), ("b", "float64")]) |
| 524 | pq.write_metadata(schema2, path2) |
| 525 | parquet_meta2 = pq.read_metadata(path2) |
| 526 | |
| 527 | # different schema |
| 528 | path3 = str(tempdir / "metadata3") |
| 529 | schema3 = pa.schema([("a", "int64"), ("b", "float32")]) |
| 530 | pq.write_metadata(schema3, path3) |
| 531 | parquet_meta3 = pq.read_metadata(path3) |
| 532 | |
| 533 | # Deterministic |
| 534 | assert hash(parquet_meta1) == hash(parquet_meta1) # equal w/ same instance |
| 535 | assert hash(parquet_meta1) == hash(parquet_meta2) # equal w/ different instance |
| 536 | |
| 537 | # Not the same as other metadata with different schema |
| 538 | assert hash(parquet_meta1) != hash(parquet_meta3) |
| 539 | |
| 540 | |
| 541 | @pytest.mark.filterwarnings("ignore:Parquet format:FutureWarning") |
nothing calls this directly
no test coverage detected