def test_storage_key_after_update(inplace): """ Assert that the storage key is not set after mutation of the index object """ original_index = ExplicitSecondaryIndex( column="col", index_dct={1: ["part_1", "part_2"], 3: ["part_3"]}, index_storage_key="storage_key", ) updated_index = original_index.remove_partitions([], inplace=inplace) assert updated_index.index_storage_key == "storage_key" updated_index = original_index.remove_partitions(["part_1"], inplace=inplace) assert updated_index.index_storage_key is None original_index = ExplicitSecondaryIndex( column="col", index_dct={1: ["part_1", "part_2"], 3: ["part_3"]}, index_storage_key="storage_key", ) updated_index = original_index.remove_values([], inplace=inplace) assert updated_index.index_storage_key == "storage_key" updated_index = original_index.remove_values([1], inplace=inplace) assert updated_index.index_storage_key is None original_index = ExplicitSecondaryIndex( column="col", index_dct={1: ["part_1", "part_2"], 3: ["part_3"]}, index_storage_key="storage_key", ) updated_index = original_index.copy() assert updated_index.index_storage_key == "storage_key" updated_index = original_index.copy(column="something_different") assert updated_index.index_storage_key is None
def test_index_remove_partitions(inplace, remove, expected): original_index = ExplicitSecondaryIndex( column="col", index_dct={1: ["part_1", "part_2"], 2: ["part_1"], 3: ["part_3"]} ) for perm in permutations(remove): new_index = original_index.remove_partitions(perm, inplace=inplace) expected_index = ExplicitSecondaryIndex( column="col", index_dct=expected, dtype=pa.int64() ) assert new_index == expected_index