Skip to content

Commit ca7268e

Browse files
committed
Simplify evaluator planning tests
1 parent 6019149 commit ca7268e

1 file changed

Lines changed: 1 addition & 45 deletions

File tree

tests/table/test_partition_evaluator_planning.py renamed to tests/table/test_evaluator_planning.py

Lines changed: 1 addition & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@
2323

2424
import pyiceberg.table as table_module
2525
from pyiceberg.expressions import BooleanExpression, GreaterThan
26-
from pyiceberg.io import FileIO
27-
from pyiceberg.manifest import DataFile, FileFormat, ManifestContent, ManifestEntry, ManifestFile
26+
from pyiceberg.manifest import DataFile, FileFormat
2827
from pyiceberg.schema import Schema
2928
from pyiceberg.table import ManifestGroupPlanner, Table
3029
from pyiceberg.typedef import Record, StructProtocol
@@ -40,18 +39,6 @@ def _data_file(file_number: int, partition_value: int) -> DataFile:
4039
)
4140

4241

43-
def _manifest_file(file_number: int) -> ManifestFile:
44-
return ManifestFile.from_args(
45-
manifest_path=f"s3://bucket/manifest-{file_number}.avro",
46-
manifest_length=1,
47-
partition_spec_id=0,
48-
content=ManifestContent.DATA,
49-
sequence_number=1,
50-
min_sequence_number=1,
51-
added_snapshot_id=1,
52-
)
53-
54-
5542
def test_partition_evaluator_prepares_once_per_spec(table_v2: Table, monkeypatch: pytest.MonkeyPatch) -> None:
5643
evaluator_calls: list[list[int]] = []
5744

@@ -76,34 +63,3 @@ def evaluate(struct: StructProtocol) -> bool:
7663
assert not partition_evaluator(_data_file(1, 1))
7764
assert partition_evaluator(_data_file(2, 10))
7865
assert evaluator_calls == [[1, 10]]
79-
80-
81-
def test_manifest_group_planner_shares_partition_evaluator_across_manifests(
82-
table_v2: Table, monkeypatch: pytest.MonkeyPatch
83-
) -> None:
84-
planner = ManifestGroupPlanner(table_metadata=table_v2.metadata, io=table_v2.io, row_filter=GreaterThan("x", 5))
85-
built_specs: list[int] = []
86-
opened_evaluators: list[Callable[[DataFile], bool]] = []
87-
88-
def build_partition_evaluator(spec_id: int) -> Callable[[DataFile], bool]:
89-
built_specs.append(spec_id)
90-
return lambda _: True
91-
92-
def open_manifest(
93-
io: FileIO,
94-
manifest: ManifestFile,
95-
partition_evaluator: Callable[[DataFile], bool],
96-
metrics_evaluator: Callable[[DataFile], bool],
97-
) -> list[ManifestEntry]:
98-
opened_evaluators.append(partition_evaluator)
99-
return []
100-
101-
monkeypatch.setattr(planner, "_build_manifest_evaluator", lambda _: lambda _: True)
102-
monkeypatch.setattr(planner, "_build_partition_evaluator", build_partition_evaluator)
103-
monkeypatch.setattr(table_module, "_open_manifest", open_manifest)
104-
105-
list(planner.plan_manifest_entries([_manifest_file(1), _manifest_file(2)]))
106-
107-
assert built_specs == [0]
108-
assert len(opened_evaluators) == 2
109-
assert opened_evaluators[0] is opened_evaluators[1]

0 commit comments

Comments
 (0)