REPOSITORY
metafarmers/fruit-work-target-perception Private
[참조 MVP] 과채류 작업대상 인식 — RGB-D 관측에서 과실과 생장점을 식별하고 로봇 작업 후보를 구조화하는 참조 MVP입니다.
https://git.agrithing.ai/metafarmers/fruit-work-target-perception.git 54a9587 feat: 과채류 작업대상 인식 구체 MVP 구현
bb3f276 ci: add static dynamic and evidence gates
66d6ea9 feat: add executable institution reference MVP
bee1524 docs: define product role and interface contract
1 items · feat/concrete-mvp-v2
·/ tests/test_component.py
python · 1.3 KB · 58d0948 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"], "metafarmers/fruit-work-target-perception") self.assertEqual(result["target"], "vpu") self.assertEqual(result["status"], "TARGETS_READY") self.assertEqual([item["id"] for item in result["candidates"]], ["tip-02", "fruit-17"]) self.assertEqual(result["counts"], {"fruit": 1, "growth-tip": 1}) self.assertEqual(result["rejected"], 1) 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"], "metafarmers/fruit-work-target-perception") self.assertFalse(result["accepted"]) self.assertEqual(result["status"], "NO_TARGETS") self.assertEqual(result["candidates"], [])if __name__ == "__main__": unittest.main()