import pytest from BetweenHours import is_between_hours TEST_INPUTS = [ ("12:00:00", "02:00:00", "21:00:00", True, "sanity 1"), ("12:00:00", "11:10:00", "12:50:00", True, "sanity 3"), ("12:00:00", "12:00:00", "12:00:00", True, "exact same date"), ("12:00:00", "12:00:00", "22:00:00", True, "same as begin date"), ("12:00:00", "10:00:00", "12:00:00", True, "same as end date"), ("10:00:00", "12:00:00", "20:00:00", False, "before begin date"), ("15:00:00", "02:00:00", "12:00:00", False, "after end date"), ("23:00:00", "22:00:00", "02:00:00", True, "between midnight 1"), ("01:00:00", "20:00:00", "05:00:00", True, "between midnight 2"), ("17:00:00", "22:00:00", "02:00:00", False, "before midnight"), ("06:00:00", "20:00:00", "05:00:00", False, "after midnight"), ] @pytest.mark.parametrize("value, begin_time, end_time, expected_result, test_title", TEST_INPUTS) def test_is_between_hours(value, begin_time, end_time, expected_result, test_title): assert is_between_hours(value, begin_time, end_time) == expected_result, test_title