32 lines
817 B
Python
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
|