diff --git a/tests/test_utils_readable.py b/tests/test_utils_readable.py new file mode 100644 index 00000000..7501e9d4 --- /dev/null +++ b/tests/test_utils_readable.py @@ -0,0 +1,53 @@ +import pytest +from slic.utils.readable import readable_seconds + +@pytest.mark.parametrize("seconds, expected", [ + + (59.4, "59 seconds"), + (59.9, "59 seconds"), + (119.9, "120 seconds"), + (120.1, "2 minutes"), + + (3599.4, "59 minutes"), + (3599.9, "60 minutes"), + (3600.1, "1 hour"), + (7199.9, "119 minutes"), + (7200.1, "2 hours"), + + (90.4, "90 seconds"), + (90.6, "91 seconds"), + (121.9, "2 minutes"), + (3659.9, "60 minutes"), + (3660.1, "1 hour"), + + (2629746 * 0.5, "15 days"), + (2629746 * 0.9, "27 days"), + (2629746 * 1.0, "1 month"), + (2629746 * 1.1, "1 month"), + (2629746 * 1.5, "1 month"), + (2629746 * 1.9, "1 month"), + (2629746 * 2.0, "2 months"), + (2629746 * 2.1, "2 months"), + + (31556904 * 0.9, "9 months"), + (31556904 * 1.0, "1 year"), + (31556904 * 1.1, "1 year"), + (31556904 * 1.5, "1 year"), + (31556904 * 1.9, "1 year"), + (31556904 * 2.0, "2 years"), + (31556904 * 2.1, "2 years"), + + (2629746 * 1.99, "1 month"), + (2629746 * 2.01, "2 months"), + (31556904 * 1.99, "1 year"), + (31556904 * 2.01, "2 years"), + + (2629746 * 11.9, "11 months"), + (2629746 * 12.1, "1 year"), + (31556904 * 0.1, "1 month"), + (31556904 * 0.49, "5 months") + +]) + +def test_rounding_cases(seconds, expected): + assert readable_seconds(seconds) == expected \ No newline at end of file