Skip to content

Commit dfd5d9e

Browse files
authored
Merge pull request #542 from kingbuzzman/patch-1
Adds return value to tick()
2 parents 4ecad0c + 2436841 commit dfd5d9e

File tree

3 files changed

+16
-23
lines changed

3 files changed

+16
-23
lines changed

freezegun/api.py

+3
Original file line numberDiff line numberDiff line change
@@ -502,6 +502,7 @@ def tick(self, delta=datetime.timedelta(seconds=1)):
502502
self.move_to(self.time_to_freeze + datetime.timedelta(seconds=delta))
503503
else:
504504
self.move_to(self.time_to_freeze + delta)
505+
return self.time_to_freeze
505506

506507
def move_to(self, target_datetime):
507508
"""Moves frozen date to the given ``target_datetime``"""
@@ -523,6 +524,7 @@ def tick(self, delta=datetime.timedelta(seconds=1)):
523524
self.time_to_freeze += datetime.timedelta(seconds=delta)
524525
else:
525526
self.time_to_freeze += delta
527+
return self.time_to_freeze
526528

527529
def move_to(self, target_datetime):
528530
"""Moves frozen date to the given ``target_datetime``"""
@@ -546,6 +548,7 @@ def tick(self, delta=None):
546548
if not delta:
547549
delta = datetime.timedelta(seconds=self.step_width)
548550
self.time_to_freeze += delta
551+
return self.time_to_freeze
549552

550553
def update_step_width(self, step_width):
551554
self.step_width = step_width

freezegun/api.pyi

+3-2
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,18 @@ _Freezable: TypeAlias = str | datetime | date | timedelta
1010
class TickingDateTimeFactory:
1111
def __init__(self, time_to_freeze: datetime, start: datetime) -> None: ...
1212
def __call__(self) -> datetime: ...
13+
def tick(self, delta: float | Real | timedelta = ...) -> datetime: ...
1314

1415
class FrozenDateTimeFactory:
1516
def __init__(self, time_to_freeze: datetime) -> None: ...
1617
def __call__(self) -> datetime: ...
17-
def tick(self, delta: float | Real | timedelta = ...) -> None: ...
18+
def tick(self, delta: float | Real | timedelta = ...) -> datetime: ...
1819
def move_to(self, target_datetime: _Freezable | None) -> None: ...
1920

2021
class StepTickTimeFactory:
2122
def __init__(self, time_to_freeze: datetime, step_width: float) -> None: ...
2223
def __call__(self) -> datetime: ...
23-
def tick(self, delta: timedelta | None = ...) -> None: ...
24+
def tick(self, delta: timedelta | None = ...) -> datetime: ...
2425
def update_step_width(self, step_width: float) -> None: ...
2526
def move_to(self, target_datetime: _Freezable | None) -> None: ...
2627

tests/test_datetimes.py

+10-21
Original file line numberDiff line numberDiff line change
@@ -162,33 +162,22 @@ def test_time_with_dst():
162162

163163

164164
def test_manual_increment():
165-
initial_datetime = datetime.datetime(year=1, month=7, day=12,
166-
hour=15, minute=6, second=3)
167-
with freeze_time(initial_datetime) as frozen_datetime:
168-
assert frozen_datetime() == initial_datetime
169-
170-
frozen_datetime.tick()
171-
initial_datetime += datetime.timedelta(seconds=1)
172-
assert frozen_datetime() == initial_datetime
173-
174-
frozen_datetime.tick(delta=datetime.timedelta(seconds=10))
175-
initial_datetime += datetime.timedelta(seconds=10)
176-
assert frozen_datetime() == initial_datetime
177-
178-
179-
def test_manual_increment_seconds():
180165
initial_datetime = datetime.datetime(year=1, month=7, day=12,
181166
hour=15, minute=6, second=3)
182167
with freeze_time(initial_datetime) as frozen_datetime:
183168
assert frozen_datetime() == initial_datetime
184169

185-
frozen_datetime.tick()
186-
initial_datetime += datetime.timedelta(seconds=1)
187-
assert frozen_datetime() == initial_datetime
170+
expected = initial_datetime + datetime.timedelta(seconds=1)
171+
assert frozen_datetime.tick() == expected
172+
assert frozen_datetime() == expected
188173

189-
frozen_datetime.tick(10)
190-
initial_datetime += datetime.timedelta(seconds=10)
191-
assert frozen_datetime() == initial_datetime
174+
expected = initial_datetime + datetime.timedelta(seconds=11)
175+
assert frozen_datetime.tick(10) == expected
176+
assert frozen_datetime() == expected
177+
178+
expected = initial_datetime + datetime.timedelta(seconds=21)
179+
assert frozen_datetime.tick(delta=datetime.timedelta(seconds=10)) == expected
180+
assert frozen_datetime() == expected
192181

193182

194183
def test_move_to():

0 commit comments

Comments
 (0)