REPOSITORY
cwsfa/following-transport-amr Private
[참조 MVP] 작업자 추종 이송 AMR — 작업자 목표와 적재·배터리 상태를 이송 플랫폼 명령으로 결합하는 참조 MVP입니다.
https://git.agrithing.ai/cwsfa/following-transport-amr.git a9ee8ba feat: 작업자 추종 이송 AMR 구체 MVP 구현
c42d1d9 ci: add static dynamic and evidence gates
716132f feat: add executable institution reference MVP
330e8cc docs: define product role and interface contract
1 items · feat/concrete-mvp-v2
·/ tests/test_component.py
python · 1.1 KB · d090a92 Download
from __future__ import annotationsimport jsonimport unittestfrom pathlib import Pathfrom asw_component import executeROOT = 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.assertTrue(result["accepted"]) self.assertEqual(result["component"], "cwsfa/following-transport-amr") self.assertEqual(result["target"], "acu") self.assertEqual(result["command"], "FOLLOW") self.assertEqual(result["speedMps"], 0.42) self.assertEqual(result["blockingReasons"], []) def test_safety_or_failure_path(self): payload = json.loads((ROOT / "examples/failure-input.json").read_text(encoding="utf-8")) result = execute(payload) self.assertEqual(result["component"], "cwsfa/following-transport-amr") self.assertFalse(result["accepted"]) self.assertEqual(result["command"], "BLOCKED") self.assertIn("PAYLOAD_LIMIT", result["blockingReasons"])if __name__ == "__main__": unittest.main()