コード例 #1
0
    def test_sleeps_for_second_value(self, sleep_mock):
        gen = each_interval(5, sleep=sleep_mock)

        next(gen)
        next(gen)

        sleep_mock.assert_called_once()
コード例 #2
0
    def tests_sleeps_until_next_interval(self, sleep_mock):
        current_time = FakeTime(1)

        gen = each_interval(1, current_time=current_time, sleep=sleep_mock)

        next(gen)
        next(gen)

        sleep_mock.assert_called_once_with(1)
コード例 #3
0
    def tests_zero_sleep_if_late(self, sleep_mock):
        current_time = FakeTime(1)

        gen = each_interval(1, current_time=current_time, sleep=sleep_mock)

        next(gen)
        current_time.set(3)
        next(gen)

        sleep_mock.assert_called_once_with(0)
コード例 #4
0
    def tests_sleeps_after_delay(self, sleep_mock):
        current_time = FakeTime(1)

        gen = each_interval(1, current_time=current_time, sleep=sleep_mock)

        next(gen)
        current_time.set(1.5)
        next(gen)

        sleep_mock.assert_called_once_with(0.5)
コード例 #5
0
    def test_does_not_race_to_catch_up(self, sleep_mock):
        current_time = FakeTime(1)

        gen = each_interval(1, current_time=current_time, sleep=sleep_mock)

        next(gen)
        current_time.set(3)
        next(gen)
        next(gen)

        sleep_mock.assert_has_calls([mock.call(0), mock.call(1)])
コード例 #6
0
    def test_does_not_sleep_for_first_value(self, sleep_mock):
        gen = each_interval(1, sleep=sleep_mock)

        next(gen)

        sleep_mock.assert_not_called()
コード例 #7
0
 def test_yields_none_values(self, sleep_mock):
     gen = each_interval(1, sleep=sleep_mock)
     assert [next(gen), next(gen), next(gen)] == [None, None, None]