123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- from datetime import datetime
- import pytest
- from pandas.tseries.holiday import (
- after_nearest_workday,
- before_nearest_workday,
- nearest_workday,
- next_monday,
- next_monday_or_tuesday,
- next_workday,
- previous_friday,
- previous_workday,
- sunday_to_monday,
- weekend_to_monday,
- )
- _WEDNESDAY = datetime(2014, 4, 9)
- _THURSDAY = datetime(2014, 4, 10)
- _FRIDAY = datetime(2014, 4, 11)
- _SATURDAY = datetime(2014, 4, 12)
- _SUNDAY = datetime(2014, 4, 13)
- _MONDAY = datetime(2014, 4, 14)
- _TUESDAY = datetime(2014, 4, 15)
- _NEXT_WEDNESDAY = datetime(2014, 4, 16)
- @pytest.mark.parametrize("day", [_SATURDAY, _SUNDAY])
- def test_next_monday(day):
- assert next_monday(day) == _MONDAY
- @pytest.mark.parametrize(
- "day,expected", [(_SATURDAY, _MONDAY), (_SUNDAY, _TUESDAY), (_MONDAY, _TUESDAY)]
- )
- def test_next_monday_or_tuesday(day, expected):
- assert next_monday_or_tuesday(day) == expected
- @pytest.mark.parametrize("day", [_SATURDAY, _SUNDAY])
- def test_previous_friday(day):
- assert previous_friday(day) == _FRIDAY
- def test_sunday_to_monday():
- assert sunday_to_monday(_SUNDAY) == _MONDAY
- @pytest.mark.parametrize(
- "day,expected", [(_SATURDAY, _FRIDAY), (_SUNDAY, _MONDAY), (_MONDAY, _MONDAY)]
- )
- def test_nearest_workday(day, expected):
- assert nearest_workday(day) == expected
- @pytest.mark.parametrize(
- "day,expected", [(_SATURDAY, _MONDAY), (_SUNDAY, _MONDAY), (_MONDAY, _MONDAY)]
- )
- def test_weekend_to_monday(day, expected):
- assert weekend_to_monday(day) == expected
- @pytest.mark.parametrize(
- "day,expected",
- [
- (_WEDNESDAY, _THURSDAY),
- (_THURSDAY, _FRIDAY),
- (_SATURDAY, _MONDAY),
- (_SUNDAY, _MONDAY),
- (_MONDAY, _TUESDAY),
- (_TUESDAY, _NEXT_WEDNESDAY),
- ],
- )
- def test_next_workday(day, expected):
- assert next_workday(day) == expected
- @pytest.mark.parametrize(
- "day,expected", [(_SATURDAY, _FRIDAY), (_SUNDAY, _FRIDAY), (_TUESDAY, _MONDAY)]
- )
- def test_previous_workday(day, expected):
- assert previous_workday(day) == expected
- @pytest.mark.parametrize(
- "day,expected",
- [
- (_THURSDAY, _WEDNESDAY),
- (_FRIDAY, _THURSDAY),
- (_SATURDAY, _THURSDAY),
- (_SUNDAY, _FRIDAY),
- (_MONDAY, _FRIDAY),
- (_TUESDAY, _MONDAY),
- (_NEXT_WEDNESDAY, _TUESDAY),
- ],
- )
- def test_before_nearest_workday(day, expected):
- assert before_nearest_workday(day) == expected
- @pytest.mark.parametrize(
- "day,expected", [(_SATURDAY, _MONDAY), (_SUNDAY, _TUESDAY), (_FRIDAY, _MONDAY)]
- )
- def test_after_nearest_workday(day, expected):
- assert after_nearest_workday(day) == expected
|