33 lines
1.1 KiB
Python
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})
|