22 lines
819 B
Python
22 lines
819 B
Python
import pytest
|
|
|
|
from cosmosmesh_privacy_preserving_federated_.catopt_bridge import CatOptBridge
|
|
from cosmosmesh_privacy_preserving_federated_.contract_registry import REGISTRY
|
|
|
|
|
|
def test_registry_and_translation():
|
|
bridge = CatOptBridge()
|
|
# Register a simple contract and verify registry exposure
|
|
bridge.register_contract("LocalProblem", "0.1.0", {"schema": {"type": "object"}})
|
|
assert REGISTRY.get("LocalProblem")["version"] == "0.1.0"
|
|
|
|
# Translate a minimal local problem description
|
|
local_problem = {
|
|
"name": "TestProblem",
|
|
"variables": [{"name": "x", "domain": "R"}],
|
|
"objective": {"type": "quadratic"},
|
|
}
|
|
translated = bridge.translate_local_problem(local_problem)
|
|
assert translated["type"] == "LocalProblem"
|
|
assert translated["name"] == "TestProblem"
|