diff --git a/holidays/countries/isle_of_man.py b/holidays/countries/isle_of_man.py index 2215d0b13..8ba4d62a8 100644 --- a/holidays/countries/isle_of_man.py +++ b/holidays/countries/isle_of_man.py @@ -10,7 +10,6 @@ # License: MIT (see LICENSE file) from datetime import date -from datetime import timedelta as td from holidays.calendars.gregorian import JUL from holidays.countries.united_kingdom import UnitedKingdom, UnitedKingdomStaticHolidays @@ -28,7 +27,8 @@ def __init__(self, *args, **kwargs): # Override UnitedKingdom __init__(). ChristianHolidays.__init__(self) InternationalHolidays.__init__(self) StaticHolidays.__init__(self, UnitedKingdomStaticHolidays) - ObservedHolidayBase.__init__(self, observed_rule=SAT_SUN_TO_NEXT_MON, *args, **kwargs) + kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_MON) + ObservedHolidayBase.__init__(self, *args, **kwargs) def _populate(self, year: int) -> None: super()._populate(year) @@ -47,9 +47,9 @@ def _populate(self, year: int) -> None: # Tynwald Day # Move to the next Monday if falls on a weekend. dt = date(year, JUL, 5) - if self._is_weekend(dt) and year >= 1992: - dt += td(days=+2 if self._is_saturday(dt) else +1) - self._add_holiday("Tynwald Day", dt) + self._add_holiday( + "Tynwald Day", self._get_observed_date(dt, SAT_SUN_TO_NEXT_MON) if year >= 1992 else dt + ) class IM(IsleOfMan): diff --git a/tests/countries/test_isle_of_man.py b/tests/countries/test_isle_of_man.py index 929037301..d2dcb1bc2 100644 --- a/tests/countries/test_isle_of_man.py +++ b/tests/countries/test_isle_of_man.py @@ -42,10 +42,7 @@ def test_2022(self): ("2022-04-18", "Easter Monday"), ("2022-05-02", "May Day"), ("2022-06-02", "Spring Bank Holiday"), - ( - "2022-06-03", - "Platinum Jubilee of Elizabeth II; TT Bank Holiday", - ), + ("2022-06-03", "Platinum Jubilee of Elizabeth II; TT Bank Holiday"), ("2022-07-05", "Tynwald Day"), ("2022-08-29", "Late Summer Bank Holiday"), ("2022-09-19", "State Funeral of Queen Elizabeth II"),