sintonia/shared/tests/datetime_test.py

32 lines
817 B
Python

from datetime import time
from pytest import approx, mark
from libretime_shared.datetime import (
time_fromisoformat,
time_in_milliseconds,
time_in_seconds,
)
def test_time_in_seconds():
value = time(hour=0, minute=3, second=34, microsecond=649600)
assert time_in_seconds(value) == approx(214.65, abs=0.009)
def test_time_in_milliseconds():
value = time(hour=0, minute=0, second=0, microsecond=500000)
assert time_in_milliseconds(value) == 500
@mark.parametrize(
"payload, expected",
[
("00:00:00.500000", time(microsecond=500000)),
("00:04:30.092540", time(minute=4, second=30, microsecond=92540)),
("00:04:30", time(minute=4, second=30)),
],
)
def test_time_fromisoformat(payload, expected):
assert time_fromisoformat(payload) == expected