Esempio n. 1
0
    def test_should_use_minimum_steer_time_if_time_calculation_returns_small_value(self):
        self.listen(EventName.after)
        waypoint = Waypoint(Position(53.0001,-1.9999),5)
        fake_gps = FakeMovingGPS([self.current_position, waypoint.position])
        fake_gps.speed = 100

        navigator = self.new_navigator(fake_gps)
        self.exchange.publish(Event(EventName.navigate,waypoint))

        self.assertEqual(self.last_event.seconds,MIN_TIME_TO_STEER)
Esempio n. 2
0
    def test_should_use_a_minimum_speed_for_calculation_preventing_divide_by_zero_error(self):
        self.listen(EventName.after)
        waypoint = Waypoint(Position(53.001,-2.001),5)
        fake_gps = FakeMovingGPS([self.current_position, waypoint.position])
        fake_gps.speed = 0
        expected_time = expected_time_to_steer(self.current_position,waypoint.position,0.01)

        navigator = self.new_navigator(fake_gps)
        self.exchange.publish(Event(EventName.navigate,waypoint))

        self.assertEqual(self.last_event.seconds,expected_time)
Esempio n. 3
0
    def test_should_use_maximum_steer_time_if_its_a_long_way_to_go(self):
        self.listen(EventName.after)
        waypoint = Waypoint(Position(60.0001,10),5)
        fake_gps = FakeMovingGPS([self.current_position, waypoint.position])
        fake_gps.speed = 1
        expected_bearing = self.globe.bearing(self.current_position,waypoint.position)

        navigator = self.new_navigator(fake_gps)
        self.exchange.publish(Event(EventName.navigate,waypoint))

        self.assertEqual(self.last_event.seconds,MAX_TIME_TO_STEER)