def setUp(self): mission_factory = MissionFactory() self.missions = mission_factory.create_missions(mission_data) def dummy_send_command(message): return message self.send_command = lambda message: dummy_send_command(message)
def test_create_missions_from_py(self): mission_factory = MissionFactory() missions = mission_factory.create_missions(mission_data) index = 0 for mission_name, mission in missions.items(): self.assertEqual(mission_name, mission_data.data[index]['name']) if isinstance(mission, SlowMission): mission_type = 'slow' elif isinstance(mission, FastMission): mission_type = 'fast' elif isinstance(mission, VerboseFastMission): mission_type = 'verbosefast' self.assertEqual(mission_type, mission_data.data[index]['type']) index += 1
def test_create_missions_from_json(self): import json f = open("mission_data.json", 'r') json_data = json.load(f) mission_factory = MissionFactory() missions = mission_factory.create_missions_from_file( "mission_data.json") index = 0 for mission_name, mission in missions.items(): self.assertEqual(mission_name, json_data['data'][index]['name']) if isinstance(mission, SlowMission): mission_type = 'slow' elif isinstance(mission, FastMission): mission_type = 'fast' elif isinstance(mission, VerboseFastMission): mission_type = 'verbosefast' self.assertEqual(mission_type, json_data['data'][index]['type']) index += 1
def test_listen_for_status(self): self.host = "127.0.0.1" self.drone_port = 8891 mission_factory = MissionFactory() self.missions = mission_factory.create_missions(mission_data) self.drone_simulator = DroneSimulator() self.drone_simulator.start_listening() self.drone_monitor = DroneMonitor() self.dispatcher = DroneDispatcher(self.host, self.drone_port) response = self.dispatcher.send_drone_on_mission(self.missions["1"]) self.drone_simulator.stop_reporting() self.drone_simulator.stop_listening() self.drone_monitor.stop_listening() latest_status_dict = self.drone_monitor.status_store.get_latest_status_dict( ) self.assertNotEqual(0, latest_status_dict['time']) self.dispatcher.close_socket() self.drone_monitor.close_socket() self.drone_simulator.close_socket()
def test_create_missions_from_csv(self): import csv rows = [] with open("mission_data.csv", "r") as csvfile: mission_data_reader = csv.reader(csvfile, delimiter=",") for row in mission_data_reader: rows.append(row) rows.pop(0) mission_factory = MissionFactory() missions = mission_factory.create_missions_from_file( "mission_data.csv") index = 0 for mission_name, mission in missions.items(): self.assertEqual(mission_name, rows[index][0]) if isinstance(mission, SlowMission): mission_type = 'slow' elif isinstance(mission, FastMission): mission_type = 'fast' elif isinstance(mission, VerboseFastMission): mission_type = 'verbosefast' self.assertEqual(mission_type, rows[index][2]) index += 1
def Main(): mission_factory = MissionFactory() # missions = mission_factory.create_missions(mission_data) dispatcher = DroneDispatcher() library = MissionLibrary() menu_methods = { "ls": library.get_mission_names, "load": mission_factory.create_missions_from_file, "set port": dispatcher.set_port, "set host": dispatcher.set_host, "get port": dispatcher.get_port, "get host": dispatcher.get_host, "get mission": lambda name: library.get_mission(name), "save missions": lambda missions: library.add_missions(missions), "mission": dispatcher.send_drone_on_mission, } menu = Menu(menu_methods) menu.display_menu()
def setUp(self): mission_factory = MissionFactory() self.missions = mission_factory.create_missions(mission_data)
def setUp(self): self.host = "127.0.0.1" self.drone_port = 8889 mission_factory = MissionFactory() missions = mission_factory.create_missions(mission_data) self.dispatcher = DroneDispatcher(missions, self.host, self.drone_port)
def test_add_new_missions(self): mission_factory = MissionFactory() more_missions = mission_factory.create_missions(mission_data) self.library.add_missions(more_missions)