Esempio n. 1
0
 def testScanning_DoneScanning(self):
     sm = StateMachine()
     sm.handle_event(Event.START_PATROL)
     sm.handle_event(Event.SCANNING_TIME)
     sm.handle_event(Event.DONE_SCANNING)
     self.assertEqual(sm.get_state(), State.PATROLLING,
                      "SCANNING + DONE_SCANNING is invalid")
Esempio n. 2
0
 def testPatrolling_ArrivedAtMolehill(self):
     sm = StateMachine()
     sm.handle_event(Event.START_PATROL)
     sm.handle_event(Event.ARRIVED_AT_MOLEHILL)
     self.assertEqual(
         sm.get_state(), State.SCARING,
         "PATROLLING + ARRIVED_AT_MOLEHILL -> SCARING is valid")
Esempio n. 3
0
 def testScaring_LowBattery(self):
     sm = StateMachine()
     sm.handle_event(Event.START_PATROL)
     sm.handle_event(Event.ARRIVED_AT_MOLEHILL)
     sm.handle_event(Event.LOW_BATTERY)
     self.assertEqual(sm.get_state(), State.PATROLLING,
                      "SCARING + LOW_BATTERY -> PATROLLING is valid")
Esempio n. 4
0
 def testScanning_LowBattery(self):
     sm = StateMachine()
     sm.handle_event(Event.START_PATROL)
     sm.handle_event(Event.SCANNING_TIME)
     sm.handle_event(Event.LOW_BATTERY)
     self.assertEqual(sm.get_state(), State.PATROLLING,
                      "SCANNING + LOW_BATTERY PATROLLING is valid")
Esempio n. 5
0
 def testCharging_FullyCharged(self):
     sm = StateMachine()
     sm.handle_event(Event.LOW_BATTERY)
     sm.handle_event(Event.ARRIVED_AT_BASE)
     sm.handle_event(Event.FULLY_CHARGED)
     self.assertEqual(sm.get_state(), State.IDLE,
                      "RETURNING_TO_BASE + FULLY_CHARGED -> IDLE is valid")
Esempio n. 6
0
 def testScaring_DoneScaring(self):
     sm = StateMachine()
     sm.handle_event(Event.START_PATROL)
     sm.handle_event(Event.ARRIVED_AT_MOLEHILL)
     sm.handle_event(Event.DONE_SCARING)
     self.assertEqual(sm.get_state(), State.PATROLLING,
                      "SCARING + DONE_SCARING -> PATROLLING is valid")
Esempio n. 7
0
 def testReturningToBase_ArrivedAtBase(self):
     sm = StateMachine()
     sm.handle_event(Event.LOW_BATTERY)
     sm.handle_event(Event.ARRIVED_AT_BASE)
     self.assertEqual(
         sm.get_state(), State.CHARGING,
         "RETURNING_TO_BASE + ARRIVED_AT_BASE -> CHARGING is valid")
Esempio n. 8
0
 def testPatrolling_LowBattery(self):
     sm = StateMachine()
     sm.handle_event(Event.START_PATROL)
     sm.handle_event(Event.LOW_BATTERY)
     self.assertEqual(
         sm.get_state(), State.RETURNING_TO_BASE,
         "PATROLLING + LOW_BATTERY -> RETURNING_TO_BASE is valid")
Esempio n. 9
0
 def testCreate(self):
     sm = StateMachine()
     self.assertEqual(sm.get_state(), State.IDLE,
                      "When created should be in IDLE state.")
     self.assertNotEqual(
         sm.get_state(), State.PATROLLING,
         "Ensure that the IDLE state is not the same as the PATROLLING state"
     )
     self.assertNotEqual(
         sm.get_state(), State.RETURNING_TO_BASE,
         "Ensure that the IDLE state is not the same as the RETURNING_TO_BASE state"
     )
     self.assertNotEqual(
         sm.get_state(), State.CHARGING,
         "Ensure that the IDLE state is not the same as the CHARGING state")
     self.assertNotEqual(
         sm.get_state(), State.SCARING,
         "Ensure that the IDLE state is not the same as the SCARING state")
     self.assertNotEqual(
         sm.get_state(), State.SCANNING,
         "Ensure that the IDLE state is not the same as the SCANNING state")
Esempio n. 10
0
 def testIdle_LowBattery(self):
     sm = StateMachine()
     sm.handle_event(Event.LOW_BATTERY)
     self.assertEqual(sm.get_state(), State.RETURNING_TO_BASE,
                      "IDLE + LOW_BATTERY -> RETURNING_TO_BASE is valid")
Esempio n. 11
0
 def testIdle_StartPatrol(self):
     sm = StateMachine()
     sm.handle_event(Event.START_PATROL)
     self.assertEqual(sm.get_state(), State.PATROLLING,
                      "IDLE + START_PATROL -> PATROLLING is valid")
Esempio n. 12
0
 def testPatrolling_DonePatrolling(self):
     sm = StateMachine()
     sm.handle_event(Event.START_PATROL)
     sm.handle_event(Event.DONE_PATROLLING)
     self.assertEqual(sm.get_state(), State.IDLE,
                      "PATROLLING + DONE_PATROLLING -> IDLE is valid")
Esempio n. 13
0
 def testPatrolling_ScanningTime(self):
     sm = StateMachine()
     sm.handle_event(Event.START_PATROL)
     sm.handle_event(Event.SCANNING_TIME)
     self.assertEqual(sm.get_state(), State.SCANNING,
                      "PATROLLING + SCANNING_TIME -> SCANNING is valid")