Esempio n. 1
0
    def empty_way_test(self):
        """Test if an empty Way can be created."""
        way = Way()
        # points
        self.assertListEqual(way.points_lle, [])
        self.assertListEqual(way.points_radians_ll, [])
        self.assertListEqual(way.points_radians_lle, [])
        self.assertListEqual(way.points_radians_lle, [])
        self.assertListEqual(way.get_points_lle_radians(drop_elevation=False),
                             [])
        self.assertListEqual(way.get_points_lle_radians(drop_elevation=True),
                             [])
        self.assertIsNone(way.get_closest_point(point=Point(lat=0, lon=0)))

        #message points
        self.assertListEqual(way.message_points, [])
        self.assertListEqual(way.message_points_lle, [])
        self.assertEqual(way.message_point_count, 0)
        self.assertIsNone(
            way.get_closest_message_point(point=Point(lat=0, lon=0)))

        # misc
        self.assertIsNone(way.length)
        self.assertIsNone(way.duration)

        # test getters and setters
        with self.assertRaises(IndexError):
            way.get_point_by_index(1)
        with self.assertRaises(IndexError):
            way.get_message_point_by_index(1)
        with self.assertRaises(IndexError):
            way.set_message_point_by_index(1, Point(lat=1, lon=1))
        self.assertIsNone(way.get_closest_message_point(Point(lat=1, lon=1)))

        # clearing should also work
        way.clear_message_points()
Esempio n. 2
0
 def get_closest_point_test(self):
     """Test the get-closest-point functions of the Way class."""
     # put some regular points to the way first
     first = (0.0, 0.0, 0.0)
     second = (1.0, 0.0, 100.0)
     third = (2.0, 0.0, 200.0)
     lle_list = [first, second, third]
     way = Way(points=lle_list)
     # add some message points
     point1 = Point(lat=50.0, lon=0.0, elevation=300.0, message="foo")
     point2 = Point(lat=75.0, lon=0.0, elevation=600.0, message="bar")
     way.add_message_point(point1)
     way.add_message_point(point2)
     # get closest point
     result = way.get_closest_point(Point(lat=2.5, lon=0.0))
     self.assertEqual(result.getLLE(), third)
     # get closest message point
     result = way.get_closest_message_point(Point(lat=76.0, lon=0.0))
     self.assertEqual(result, point2)