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()
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)