idea10-catopt-studio-a/tests/test_dsl.py

35 lines
993 B
Python

import datetime
import pytest
from catopt_studio import LocalProblem, SharedVariables, PlanDelta, PrivacyBudget, AuditLog
def test_local_problem_dataclass_basic():
lp = LocalProblem(id="lp1", domain="energy", assets={"battery": 100}, objective="min_cost")
assert lp.id == "lp1"
assert lp.domain == "energy"
assert lp.assets["battery"] == 100
assert lp.objective == "min_cost"
def test_shared_variables_defaults():
sv = SharedVariables()
assert isinstance(sv.version, int)
assert sv.forecasts == {}
assert sv.priors == {}
def test_plan_delta_timestamp_is_datetime():
pd = PlanDelta(delta={"a": 1}, author="tester")
assert isinstance(pd.timestamp, datetime.datetime)
assert pd.author == "tester"
def test_privacy_budget_and_audit_log_defaults():
pb = PrivacyBudget(signal="sig", budget=0.5)
al = AuditLog(entry="test log", signer="alice")
assert pb.signal == "sig"
assert pb.budget == 0.5
assert al.signer == "alice"