def _update_states_and_check_single_drone_command( self, single_drone_command: SingleDroneCommand, state_updaters: Dict[str, StateUpdater], drone_state_map: Dict[str, State], drones_involved: Set[str]) -> float: self._check_takeoff_state(single_drone_command, drone_state_map) time_used = self._update_states(single_drone_command, state_updaters, drone_state_map, drones_involved) for name, state in drone_state_map.items(): try: self.boundary_config.check_state(name, state) except SafetyCheckError as e: raise SafetyCheckError( "When running command '{}', boundary limits are violated: {}" .format(single_drone_command.to_command_str(), str(e))) return time_used
def test_to_command_str(self): drone_command = SingleDroneCommand("abc", Command.takeoff()) self.assertEqual("abc.takeoff();", drone_command.to_command_str()) drone_command = SingleDroneCommand("abc", Command.up(1)) self.assertEqual("abc.up(1);", drone_command.to_command_str())