From aebf11a0cf6141f287fcbe40fbb094eeb702ec2a Mon Sep 17 00:00:00 2001 From: Daniel Schadt Date: Thu, 7 Jul 2022 12:31:49 +0200 Subject: start adding some unit tests --- tests/unit/test_util.py | 57 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 tests/unit/test_util.py (limited to 'tests/unit') diff --git a/tests/unit/test_util.py b/tests/unit/test_util.py new file mode 100644 index 0000000..c595e4e --- /dev/null +++ b/tests/unit/test_util.py @@ -0,0 +1,57 @@ +from datetime import timedelta + +import pytest +from markupsafe import Markup + +from fietsboek import util + + +@pytest.mark.parametrize('md_source, expected', [ + ("**foobar**", Markup("

foobar

")), + ("*foobar*", Markup("

foobar

")), + ("# foobar", Markup("

foobar

")), + ("", + Markup("<script>alert('evil')</script>")), +]) +def test_safe_markdown(md_source, expected): + assert util.safe_markdown(md_source) == expected + + +@pytest.mark.parametrize('timestamp, fixed', [ + ("2022-03-14T13:37:42", "2022-03-14T13:37:42"), + ("2022-03-14T13:37:42Z", "2022-03-14T13:37:42+00:00"), + ("2022-03-14T13:37:42+02:00", "2022-03-14T13:37:42+02:00"), +]) +def test_fix_iso_timestamp(timestamp, fixed): + assert util.fix_iso_timestamp(timestamp) == fixed + + +@pytest.mark.parametrize('delta, multiple, expected', [ + ( + timedelta(minutes=42), + timedelta(minutes=15), + timedelta(minutes=45), + ), + ( + timedelta(minutes=33), + timedelta(minutes=15), + timedelta(minutes=30), + ), + ( + timedelta(minutes=-12), + timedelta(minutes=15), + timedelta(minutes=-15), + ), + ( + timedelta(minutes=-31), + timedelta(minutes=15), + timedelta(minutes=-30), + ), +]) +def test_round_timedelta_to_multiple(delta, multiple, expected): + assert util.round_timedelta_to_multiple(delta, multiple) == expected + + +@pytest.mark.parametrize('mps, kph', [(1, 3.6), (10, 36)]) +def test_mps_to_kph(mps, kph): + assert util.mps_to_kph(mps) == pytest.approx(kph, 0.1) -- cgit v1.2.3