diff --git a/tests/test_operations.py b/tests/test_operations.py index d34f3dd..71b94e5 100644 --- a/tests/test_operations.py +++ b/tests/test_operations.py @@ -1,4 +1,5 @@ import datetime +import pytest from freezegun import freeze_time from dateutil.relativedelta import relativedelta from datetime import timedelta, tzinfo @@ -102,3 +103,27 @@ def test_auto_tick() -> None: auto_incremented_time = datetime.datetime.now() assert first_time + datetime.timedelta(seconds=15) == auto_incremented_time + +@pytest.mark.parametrize( + "tick,expected_diff", + ( + (datetime.timedelta(milliseconds=1500), 1.5), + (1, 1), + (1.5, 1.5) + ) +) +def test_auto_and_manual_tick(tick, expected_diff) -> None: + first_time = datetime.datetime(2020, 1, 14, 0, 0, 0, 1) + + with freeze_time(first_time, auto_tick_seconds=2) as frozen_time: + frozen_time.tick(tick) + incremented_time = datetime.datetime.now() + expected_time = first_time + datetime.timedelta(seconds=expected_diff) + assert incremented_time == expected_time + + expected_time += datetime.timedelta(seconds=2) # auto_tick_seconds + + frozen_time.tick(tick) + incremented_time = datetime.datetime.now() + expected_time += datetime.timedelta(seconds=expected_diff) + assert incremented_time == expected_time