REPOSITORY
daedongrobotics/greenhouse-lps-navigation Private
[참조 MVP] 온실 LPS 측위·주행 — 온실 로컬 측위값과 작업열 경로로 이동 명령을 생성하는 참조 MVP입니다.
https://git.agrithing.ai/daedongrobotics/greenhouse-lps-navigation.git 2749f61 feat: 온실 LPS 측위·주행 구체 MVP 구현
075262f ci: add static dynamic and evidence gates
71c8d29 feat: add executable institution reference MVP
1a609d0 docs: define product role and interface contract
1 items · feat/concrete-mvp-v2
·/ tests/test_component.py
python · 1.2 KB · 501b6df 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"], "daedongrobotics/greenhouse-lps-navigation") self.assertEqual(result["target"], "lpu") self.assertEqual(result["status"], "NAVIGATING") self.assertEqual(result["distanceM"], 4.8) self.assertEqual(result["speedMps"], 0.8) self.assertEqual(result["command"], "DRIVE") 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"], "daedongrobotics/greenhouse-lps-navigation") self.assertFalse(result["accepted"]) self.assertEqual(result["status"], "LOCALIZATION_DEGRADED") self.assertEqual(result["command"], "STOP")if __name__ == "__main__": unittest.main()