def test_within_distance_accel_4(self): dv = DataVerify() velocity_map_test = {"0001": [[2, 0, 0], 0]} plane = self.plane_helper("0001", [0, 0, 0], [33, 0, 0]) dv.velocity_map = velocity_map_test self.assertFalse(dv.within_distance(plane))
def test_within_distance_accel_neg(self): dv = DataVerify() velocity_map_test = {"0001": [[0, 30, 0], 0]} plane = self.plane_helper("0001", [0, 0, 0], [0, 15, 0]) dv.velocity_map = velocity_map_test self.assertTrue(dv.within_distance(plane))
def test_verify_data(self): dv = DataVerify() __good_data_list = ["0001", "0074678922", "1045375468", "035700", "06007890", "46539201", "57890345"] __alpha_list = ["0A01", "0074678922", "1045375468", "035700", "06007890", "46539201", "57890345"] __bad_lat_list1 = ["0001", "0094678922", "1045375468", "035700", "06007890", "46539201", "57890345"] __bad_lat_list2 = ["0001", "2074678922", "1045375468", "035700", "06007890", "46539201", "57890345"] __bad_long_list1 = ["0001", "0074678922", "1085375468", "035700", "06007890", "46539201", "57890345"] __bad_long_list2 = ["0001", "0074678922", "2045375468", "035700", "06007890", "46539201", "57890345"] self.assertEqual('True', dv.verify_data(__good_data_list), 'Test 1 failed') self.assertEqual('False', dv.verify_data(__alpha_list), 'Test 2 failed') self.assertEqual('False', dv.verify_data(__bad_lat_list1), 'Test 3 failed') self.assertEqual('False', dv.verify_data(__bad_lat_list2), 'Test 4 failed') self.assertEqual('False', dv.verify_data(__bad_long_list1), 'Test 5 failed') self.assertEqual('False', dv.verify_data(__bad_long_list2), 'Test 6 failed')
def input_data(data_in): """ Takes the data from the plane_controller_driver and sends that information to data_verification. :param data_in: :return: """ verifier = DataVerify() result = verifier.verify_data(data_in) numerical_data = __convert_to_numbers(data_in) if result: cartesian_list = convert_to_cartesian_meters(numerical_data[1:4]) plane_object = PlaneObject(data_in[0], cartesian_list[0], cartesian_list[1], cartesian_list[2], data_in[4], data_in[5], data_in[6], data_in[3]) if verifier.within_distance(plane_object): put_in_plane(plane_object)
def test_within_distance_new_vel_entry(self): id_code = self.id_code velocity_map = DataVerify().velocity_map plane = self.plane_helper(id_code, [0, 0, 0], [2, 0, 0]) plane2 = self.plane_helper(id_code, [0, 0, 0], [10, 0, 0]) time.sleep(1) self.assertTrue(self.dv.within_distance(plane)) self.assertTrue(self.dv.within_distance(plane2))
def test_verify_data(self): dv = DataVerify() __good_data_list = [ "0001", "0074678922", "1045375468", "035700", "06007890", "46539201", "57890345" ] __alpha_list = [ "0A01", "0074678922", "1045375468", "035700", "06007890", "46539201", "57890345" ] __bad_lat_list1 = [ "0001", "0094678922", "1045375468", "035700", "06007890", "46539201", "57890345" ] __bad_lat_list2 = [ "0001", "2074678922", "1045375468", "035700", "06007890", "46539201", "57890345" ] __bad_long_list1 = [ "0001", "0074678922", "1085375468", "035700", "06007890", "46539201", "57890345" ] __bad_long_list2 = [ "0001", "0074678922", "2045375468", "035700", "06007890", "46539201", "57890345" ] self.assertEqual('True', dv.verify_data(__good_data_list), 'Test 1 failed') self.assertEqual('False', dv.verify_data(__alpha_list), 'Test 2 failed') self.assertEqual('False', dv.verify_data(__bad_lat_list1), 'Test 3 failed') self.assertEqual('False', dv.verify_data(__bad_lat_list2), 'Test 4 failed') self.assertEqual('False', dv.verify_data(__bad_long_list1), 'Test 5 failed') self.assertEqual('False', dv.verify_data(__bad_long_list2), 'Test 6 failed')
class test_data_verification(unittest.TestCase): id_code = "0001" dv = None def setUp(self): self.dv = DataVerify() def test_verify_data(self): # dv = DataVerify() dv = self.dv __good_data_list = [ "0001", "0074678922", "1045375468", "035700", "06007890", "46539201", "57890345" ] __alpha_list = [ "0A01", "0074678922", "1045375468", "035700", "06007890", "46539201", "57890345" ] __bad_lat_list1 = [ "0001", "0094678922", "1045375468", "035700", "06007890", "46539201", "57890345" ] __bad_lat_list2 = [ "0001", "2074678922", "1045375468", "035700", "06007890", "46539201", "57890345" ] __bad_long_list1 = [ "0001", "0074678922", "1085375468", "035700", "06007890", "46539201", "57890345" ] __bad_long_list2 = [ "0001", "0074678922", "2045375468", "035700", "06007890", "46539201", "57890345" ] self.assertEqual('True', self.dv.verify_data(__good_data_list), 'Test 1 failed') self.assertEqual('False', self.dv.verify_data(__alpha_list), 'Test 2 failed') self.assertEqual('False', self.dv.verify_data(__bad_lat_list1), 'Test 3 failed') self.assertEqual('False', self.dv.verify_data(__bad_lat_list2), 'Test 4 failed') self.assertEqual('False', self.dv.verify_data(__bad_long_list1), 'Test 5 failed') self.assertEqual('False', self.dv.verify_data(__bad_long_list2), 'Test 6 failed') def test_within_distance_new_vel_entry(self): id_code = self.id_code velocity_map = DataVerify().velocity_map plane = self.plane_helper(id_code, [0, 0, 0], [2, 0, 0]) plane2 = self.plane_helper(id_code, [0, 0, 0], [10, 0, 0]) time.sleep(1) self.assertTrue(self.dv.within_distance(plane)) self.assertTrue(self.dv.within_distance(plane2)) def test_within_distance_no_accel(self): id_code = self.id_code velocity_map = self.dv.velocity_map plane = self.plane_helper(id_code, [0, 0, 0], [5, 5, 5]) velocity_map[id_code] = [ self.dv.vector_magnitude([5, 5, 5]), time.time() ] time.sleep(5) self.assertFalse(self.dv.within_distance(plane)) def test_within_distance_accel_1(self): id_code = self.id_code velocity_map = self.dv.velocity_map plane = self.plane_helper(id_code, [0, 0, 0], [19, 0, 0]) velocity_map[id_code] = [ self.dv.vector_magnitude([18, 0, 0]), time.time() ] time.sleep(1) self.assertTrue(self.dv.within_distance(plane)) def test_within_distance_accel_2(self): id_code = self.id_code velocity_map = self.dv.velocity_map plane = self.plane_helper(id_code, [0, 0, 0], [0, 0, 1]) velocity_map[id_code] = [ self.dv.vector_magnitude([0, 0, 30]), time.time() ] time.sleep(1) self.assertTrue(self.dv.within_distance(plane)) def test_within_distance_accel_3(self): id_code = self.id_code velocity_map = self.dv.velocity_map plane = self.plane_helper(id_code, [0, 0, 0], [0, 61, 0]) velocity_map[id_code] = [ self.dv.vector_magnitude([0, 1, 0]), time.time() ] time.sleep(2) self.assertTrue(self.dv.within_distance(plane)) def test_within_distance_accel_4(self): id_code = self.id_code velocity_map = self.dv.velocity_map plane = self.plane_helper(id_code, [0, 0, 0], [2, 0, 0]) velocity_map[id_code] = [ self.dv.vector_magnitude([34, 0, 0]), time.time() ] time.sleep(1) self.assertFalse(self.dv.within_distance(plane)) def plane_helper(self, id_code, location_vector, velocity_vector): return PlaneObject(id_code, location_vector[0], location_vector[1], location_vector[2], velocity_vector[0], velocity_vector[1], velocity_vector[2])
def setUp(self): self.dv = DataVerify()
class test_data_verification(unittest.TestCase): id_code = "0001" dv = None def setUp(self): self.dv = DataVerify() def test_verify_data(self): # dv = DataVerify() dv = self.dv __good_data_list = ["0001", "0074678922", "1045375468", "035700", "06007890", "46539201", "57890345"] __alpha_list = ["0A01", "0074678922", "1045375468", "035700", "06007890", "46539201", "57890345"] __bad_lat_list1 = ["0001", "0094678922", "1045375468", "035700", "06007890", "46539201", "57890345"] __bad_lat_list2 = ["0001", "2074678922", "1045375468", "035700", "06007890", "46539201", "57890345"] __bad_long_list1 = ["0001", "0074678922", "1085375468", "035700", "06007890", "46539201", "57890345"] __bad_long_list2 = ["0001", "0074678922", "2045375468", "035700", "06007890", "46539201", "57890345"] self.assertEqual('True', self.dv.verify_data(__good_data_list), 'Test 1 failed') self.assertEqual('False', self.dv.verify_data(__alpha_list), 'Test 2 failed') self.assertEqual('False', self.dv.verify_data(__bad_lat_list1), 'Test 3 failed') self.assertEqual('False', self.dv.verify_data(__bad_lat_list2), 'Test 4 failed') self.assertEqual('False', self.dv.verify_data(__bad_long_list1), 'Test 5 failed') self.assertEqual('False', self.dv.verify_data(__bad_long_list2), 'Test 6 failed') def test_within_distance_new_vel_entry(self): id_code = self.id_code velocity_map = DataVerify().velocity_map plane = self.plane_helper(id_code, [0, 0, 0], [2, 0, 0]) plane2 = self.plane_helper(id_code, [0, 0, 0], [10, 0, 0]) time.sleep(1) self.assertTrue(self.dv.within_distance(plane)) self.assertTrue(self.dv.within_distance(plane2)) def test_within_distance_no_accel(self): id_code = self.id_code velocity_map = self.dv.velocity_map plane = self.plane_helper(id_code, [0, 0, 0], [5, 5, 5]) velocity_map[id_code] = [self.dv.vector_magnitude([5, 5, 5]), time.time()] time.sleep(5) self.assertFalse(self.dv.within_distance(plane)) def test_within_distance_accel_1(self): id_code = self.id_code velocity_map = self.dv.velocity_map plane = self.plane_helper(id_code, [0, 0, 0], [19, 0, 0]) velocity_map[id_code] = [self.dv.vector_magnitude([18, 0, 0]), time.time()] time.sleep(1) self.assertTrue(self.dv.within_distance(plane)) def test_within_distance_accel_2(self): id_code = self.id_code velocity_map = self.dv.velocity_map plane = self.plane_helper(id_code, [0, 0, 0], [0, 0, 1]) velocity_map[id_code] = [self.dv.vector_magnitude([0, 0, 30]), time.time()] time.sleep(1) self.assertTrue(self.dv.within_distance(plane)) def test_within_distance_accel_3(self): id_code = self.id_code velocity_map = self.dv.velocity_map plane = self.plane_helper(id_code, [0, 0, 0], [0, 61, 0]) velocity_map[id_code] = [self.dv.vector_magnitude([0, 1, 0]), time.time()] time.sleep(2) self.assertTrue(self.dv.within_distance(plane)) def test_within_distance_accel_4(self): id_code = self.id_code velocity_map = self.dv.velocity_map plane = self.plane_helper(id_code, [0, 0, 0], [2, 0, 0]) velocity_map[id_code] = [self.dv.vector_magnitude([34, 0, 0]), time.time()] time.sleep(1) self.assertFalse(self.dv.within_distance(plane)) def plane_helper(self, id_code, location_vector, velocity_vector): return PlaneObject(id_code, location_vector[0], location_vector[1], location_vector[2], velocity_vector[0], velocity_vector[1], velocity_vector[2])
"LOW": { "CLIMB": 'climb', "DESCEND": 'descend', "MAINTAIN": 'maintain' } } """ The set of planes that the ADS-B send in. """ from plane import PlaneObject import math nearby_planes_list = [] primary_aircraft = PlaneObject(1, 0, 0, 0, 0, 0, 0) # primary_aircraft = PlaneObject(00, 0, 0, 0, 0, 0, 0) plane_management_queue = Queue(maxsize=10) data_verify = DataVerify() def remove_excess_planes(): b = 0 for i in nearby_planes_list: if (clock() - i.update_time > 20): nearby_planes_list.pop(b) b += 1 def plane_controller_driver(): """ This thread runs in all of the computations for detecting collisions and generates relevant alerts. :param list_in: