Example #1
0
    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)
Example #2
0
 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
Example #3
0
 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
Example #4
0
 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()
Example #5
0
 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
Example #6
0
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()
Example #7
0
 def setUp(self):
     mission_factory = MissionFactory()
     self.missions = mission_factory.create_missions(mission_data)
Example #8
0
 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)
Example #9
0
 def test_add_new_missions(self):
     mission_factory = MissionFactory()
     more_missions = mission_factory.create_missions(mission_data)
     self.library.add_missions(more_missions)