A-SW Hub / Repositories
Local Gitea · READ ONLY
← 저장소 Repositories
REPOSITORY

via/alice-sdv-demo Private

A-SW 코드-배포 파이프라인 검증용 ALICE SDV 예제

https://git.agrithing.ai/via/alice-sdv-demo.git
13 commits
2 items · main
·/ tests/test_state_machine.py
python · 1.2 KB · c9c2f22 Download
import unittestfrom edge.state_machine import Event, InvalidTransition, PatrolStateMachine, Stateclass PatrolStateMachineTest(unittest.TestCase):    def test_nominal_patrol_returns_to_idle(self) -> None:        machine = PatrolStateMachine()        for event in (            Event.START_PATROL,            Event.ENTERED_ROUTE,            Event.PATROL_COMPLETED,            Event.RETURNED_HOME,        ):            machine = machine.dispatch(event)        self.assertEqual(machine.state, State.IDLE)    def test_abort_during_enter_returns_home(self) -> None:        machine = PatrolStateMachine().dispatch(Event.START_PATROL)        self.assertEqual(machine.dispatch(Event.ABORT).state, State.RETURN)    def test_safety_timeout_enters_fault(self) -> None:        machine = PatrolStateMachine().dispatch(Event.START_PATROL).dispatch(Event.ENTERED_ROUTE)        self.assertEqual(machine.dispatch(Event.SAFETY_TIMEOUT).state, State.FAULT)    def test_invalid_transition_is_rejected(self) -> None:        with self.assertRaises(InvalidTransition):            PatrolStateMachine().dispatch(Event.RETURNED_HOME)if __name__ == "__main__":    unittest.main()