from __future__ import annotations
import json
import unittest
from pathlib import Path
from asw_component import execute

ROOT = Path(__file__).resolve().parents[1]

class ComponentTest(unittest.TestCase):
    def test_reference_scenario(self):
        payload = json.loads((ROOT / "examples/input.json").read_text(encoding="utf-8"))
        result = execute(payload)
        self.assertEqual(len(result["allocations"]), 2)
        self.assertEqual(sum(len(a["tasks"]) for a in result["allocations"]), 3)
        self.assertLessEqual(result["makespan"], 5)

if __name__ == "__main__":
    unittest.main()
