def test_get_current_leg_of_route(self): distance = Distance(10) time = Time(20) sdt = SpeedDistanceTime(distance=distance, time=time) latitude = Coordinate(56, 42, 10, "N") longitude = Coordinate(2, 5, 19, "W") waypoint = Waypoint(latitude, longitude) bearing = CompassBearing(190) leg = Leg(sdt, waypoint, bearing) legs = [leg] route = Route(legs) self.assertIsInstance(route, Route) self.assertEqual(route.current_leg(0), leg)
def test_previous_leg_of_route_does_not_exist(self): distance = Distance(10) time = Time(20) sdt = SpeedDistanceTime(distance=distance, time=time) latitude = Coordinate(56, 42, 10, "N") longitude = Coordinate(2, 5, 19, "W") waypoint = Waypoint(latitude, longitude) bearing = CompassBearing(190) leg = Leg(sdt, waypoint, bearing) legs = [leg] route = Route(legs) self.assertIsInstance(route, Route) with self.assertRaises(IndexError): route.previous_leg(2)
def test_get_current_leg_bad_index(self): distance = Distance(10) time = Time(20) sdt = SpeedDistanceTime(distance=distance, time=time) latitude = Coordinate(56, 42, 10, "N") longitude = Coordinate(2, 5, 19, "W") waypoint = Waypoint(latitude, longitude) bearing = CompassBearing(190) leg = Leg(sdt, waypoint, bearing) legs = [leg] route = Route(legs) self.assertIsInstance(route, Route) with self.assertRaises(IndexError): route.current_leg(1)
def test_route_is_intialised_with_legs(self): distance = Distance(10) time = Time(20) sdt = SpeedDistanceTime(distance=distance, time=time) latitude = Coordinate(56, 42, 10, "N") longitude = Coordinate(2, 5, 19, "W") waypoint = Waypoint(latitude, longitude) bearing = CompassBearing(190) leg = Leg(sdt, waypoint, bearing) legs = [leg] route = Route(legs) self.assertIsInstance(route, Route)
def test_route_returns_correct_number_of_legs(self): distance = Distance(10) time = Time(20) sdt = SpeedDistanceTime(distance=distance, time=time) latitude = Coordinate(56, 42, 10, "N") longitude = Coordinate(2, 5, 19, "W") waypoint = Waypoint(latitude, longitude) bearing = CompassBearing(190) leg = Leg(sdt, waypoint, bearing) legs = [leg] route = Route(legs) self.assertIsInstance(route, Route) self.assertEqual(route.number_of_legs, 1)
def test_end_waypoint_exists(self): distance = Distance(10) time = Time(20) sdt = SpeedDistanceTime(distance=distance, time=time) latitude = Coordinate(56, 42, 10, "N") longitude = Coordinate(2, 5, 19, "W") waypoint = Waypoint(latitude, longitude) waypoint2 = Waypoint(latitude, longitude) bearing = CompassBearing(190) leg = Leg(sdt, waypoint, bearing) leg2 = Leg(sdt, waypoint2, bearing) legs = [leg, leg2] route = Route(legs) self.assertIsInstance(route.end_waypoint, Waypoint) self.assertEqual(str(route.end_waypoint), str(leg2.end_waypoint))
def test_route_fails_to_instantiate_with_invalid_legs(self): legs = [1, 2, 3] with self.assertRaises(TypeError): Route(legs)
def test_route_fails_to_instantiate_with_no_legs(self): legs = None with self.assertRaises(TypeError): Route(legs)