catopt-query-category-theor.../tests/test_protocol.py

23 lines
605 B
Python

import json
from catopt_query.protocol import LocalProblem, SharedVariables, CanonicalPlan, PlanDelta
def test_local_problem_serialization():
lp = LocalProblem(
shard_id="shard-1",
projected_attrs=["a", "b"],
predicates=["a > 0"],
costs=12.5,
constraints={"limit": 100},
)
d = lp.to_dict()
lp2 = LocalProblem.from_dict(d)
assert lp == lp2
def test_canonical_plan_serialization():
cp = CanonicalPlan(projection=["a"], predicates=["a>0"], estimated_cost=3.14)
d = cp.to_dict()
cp2 = CanonicalPlan.from_dict(d)
assert cp == cp2