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))
Esempio n. 3
0
    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))
Esempio n. 4
0
    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_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')
Esempio n. 6
0
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)
Esempio n. 7
0
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)
Esempio n. 8
0
    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))
Esempio n. 9
0
    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')
Esempio n. 10
0
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])
Esempio n. 11
0
 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])
 def setUp(self):
     self.dv = DataVerify()
Esempio n. 14
0
    "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: