39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
from datetime import datetime
|
|
|
|
from pandas.tseries.holiday import (
|
|
AbstractHolidayCalendar,
|
|
USMartinLutherKingJr,
|
|
USMemorialDay,
|
|
)
|
|
|
|
|
|
def test_no_mlk_before_1986():
|
|
# see gh-10278
|
|
class MLKCalendar(AbstractHolidayCalendar):
|
|
rules = [USMartinLutherKingJr]
|
|
|
|
holidays = MLKCalendar().holidays(start="1984", end="1988").to_pydatetime().tolist()
|
|
|
|
# Testing to make sure holiday is not incorrectly observed before 1986.
|
|
assert holidays == [datetime(1986, 1, 20, 0, 0), datetime(1987, 1, 19, 0, 0)]
|
|
|
|
|
|
def test_memorial_day():
|
|
class MemorialDay(AbstractHolidayCalendar):
|
|
rules = [USMemorialDay]
|
|
|
|
holidays = MemorialDay().holidays(start="1971", end="1980").to_pydatetime().tolist()
|
|
|
|
# Fixes 5/31 error and checked manually against Wikipedia.
|
|
assert holidays == [
|
|
datetime(1971, 5, 31, 0, 0),
|
|
datetime(1972, 5, 29, 0, 0),
|
|
datetime(1973, 5, 28, 0, 0),
|
|
datetime(1974, 5, 27, 0, 0),
|
|
datetime(1975, 5, 26, 0, 0),
|
|
datetime(1976, 5, 31, 0, 0),
|
|
datetime(1977, 5, 30, 0, 0),
|
|
datetime(1978, 5, 29, 0, 0),
|
|
datetime(1979, 5, 28, 0, 0),
|
|
]
|