23 lines
605 B
Python
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
|