catopt-graph-graph-calculus.../tests/test_energi_integration.py

33 lines
1.1 KiB
Python

import unittest
from core.energi_bridge import EnergiBridge
from core.contracts import LocalProblem
class TestEnergiIntegration(unittest.TestCase):
def test_to_canonical_structure(self):
local_problem = {
"id": "lp-1",
"domain": "robotics",
"objective": {"minimize": "cost"},
"variables": {"x": 1.0},
}
canonical = EnergiBridge.to_canonical(local_problem)
self.assertIn("LocalProblem", canonical)
self.assertEqual(canonical["LocalProblem"]["id"], "lp-1")
self.assertEqual(canonical["LocalProblem"]["domain"], "robotics")
def test_from_canonical_to_domain_object(self):
canonical = {
"LocalProblem": {
"id": "lp-1",
"domain": "robotics",
"variables": {"x": 1.0},
}
}
obj = EnergiBridge.from_canonical(canonical)
# Should return a LocalProblem dataclass instance
self.assertIsInstance(obj, LocalProblem)
self.assertEqual(obj.asset_id, "lp-1")
self.assertEqual(obj.payload, {"x": 1.0})