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})