diff --git a/tests/test_energi_integration.py b/tests/test_energi_integration.py new file mode 100644 index 0000000..bde0fed --- /dev/null +++ b/tests/test_energi_integration.py @@ -0,0 +1,32 @@ +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})