From 83a4bf3840297513ca7f4ec554907d6f1f45fb21 Mon Sep 17 00:00:00 2001 From: ~Jhellico Date: Thu, 4 Apr 2024 03:21:53 +0300 Subject: [PATCH] Update European Central Bank holidays (#1754) --- holidays/financial/european_central_bank.py | 20 +- snapshots/financial/ECB.json | 301 +----------------- snapshots/financial/TAR.json | 301 +----------------- tests/financial/test_european_central_bank.py | 85 +++-- 4 files changed, 56 insertions(+), 651 deletions(-) diff --git a/holidays/financial/european_central_bank.py b/holidays/financial/european_central_bank.py index afc616815..992df2356 100644 --- a/holidays/financial/european_central_bank.py +++ b/holidays/financial/european_central_bank.py @@ -10,22 +10,30 @@ # Website: https://github.com/vacanza/python-holidays # License: MIT (see LICENSE file) -from holidays.groups import ChristianHolidays, InternationalHolidays +from holidays.calendars.gregorian import DEC +from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays from holidays.holiday_base import HolidayBase class EuropeanCentralBank(HolidayBase, ChristianHolidays, InternationalHolidays): - # https://en.wikipedia.org/wiki/TARGET2 - # http://www.ecb.europa.eu/press/pr/date/2000/html/pr001214_4.en.html + """ + References: + - https://en.wikipedia.org/wiki/TARGET2 + - https://www.ecb.europa.eu/press/pr/date/1999/html/pr990715_1.en.html + - https://www.ecb.europa.eu/press/pr/date/2000/html/pr001214_4.en.html + """ market = "ECB" def __init__(self, *args, **kwargs): ChristianHolidays.__init__(self) InternationalHolidays.__init__(self) + StaticHolidays.__init__(self, EuropeanCentralBankStaticHolidays) super().__init__(*args, **kwargs) def _populate(self, year): + if year <= 1999: + return None super()._populate(year) self._add_new_years_day("New Year's Day") @@ -45,3 +53,9 @@ class ECB(EuropeanCentralBank): class TAR(EuropeanCentralBank): pass + + +class EuropeanCentralBankStaticHolidays: + special_public_holidays = { + 2000: (DEC, 31, "Additional closing day"), + } diff --git a/snapshots/financial/ECB.json b/snapshots/financial/ECB.json index 63186072e..905e15ef8 100644 --- a/snapshots/financial/ECB.json +++ b/snapshots/financial/ECB.json @@ -1,310 +1,11 @@ { - "1950-01-01": "New Year's Day", - "1950-04-07": "Good Friday", - "1950-04-10": "Easter Monday", - "1950-05-01": "1 May (Labour Day)", - "1950-12-25": "Christmas Day", - "1950-12-26": "26 December", - "1951-01-01": "New Year's Day", - "1951-03-23": "Good Friday", - "1951-03-26": "Easter Monday", - "1951-05-01": "1 May (Labour Day)", - "1951-12-25": "Christmas Day", - "1951-12-26": "26 December", - "1952-01-01": "New Year's Day", - "1952-04-11": "Good Friday", - "1952-04-14": "Easter Monday", - "1952-05-01": "1 May (Labour Day)", - "1952-12-25": "Christmas Day", - "1952-12-26": "26 December", - "1953-01-01": "New Year's Day", - "1953-04-03": "Good Friday", - "1953-04-06": "Easter Monday", - "1953-05-01": "1 May (Labour Day)", - "1953-12-25": "Christmas Day", - "1953-12-26": "26 December", - "1954-01-01": "New Year's Day", - "1954-04-16": "Good Friday", - "1954-04-19": "Easter Monday", - "1954-05-01": "1 May (Labour Day)", - "1954-12-25": "Christmas Day", - "1954-12-26": "26 December", - "1955-01-01": "New Year's Day", - "1955-04-08": "Good Friday", - "1955-04-11": "Easter Monday", - "1955-05-01": "1 May (Labour Day)", - "1955-12-25": "Christmas Day", - "1955-12-26": "26 December", - "1956-01-01": "New Year's Day", - "1956-03-30": "Good Friday", - "1956-04-02": "Easter Monday", - "1956-05-01": "1 May (Labour Day)", - "1956-12-25": "Christmas Day", - "1956-12-26": "26 December", - "1957-01-01": "New Year's Day", - "1957-04-19": "Good Friday", - "1957-04-22": "Easter Monday", - "1957-05-01": "1 May (Labour Day)", - "1957-12-25": "Christmas Day", - "1957-12-26": "26 December", - "1958-01-01": "New Year's Day", - "1958-04-04": "Good Friday", - "1958-04-07": "Easter Monday", - "1958-05-01": "1 May (Labour Day)", - "1958-12-25": "Christmas Day", - "1958-12-26": "26 December", - "1959-01-01": "New Year's Day", - "1959-03-27": "Good Friday", - "1959-03-30": "Easter Monday", - "1959-05-01": "1 May (Labour Day)", - "1959-12-25": "Christmas Day", - "1959-12-26": "26 December", - "1960-01-01": "New Year's Day", - "1960-04-15": "Good Friday", - "1960-04-18": "Easter Monday", - "1960-05-01": "1 May (Labour Day)", - "1960-12-25": "Christmas Day", - "1960-12-26": "26 December", - "1961-01-01": "New Year's Day", - "1961-03-31": "Good Friday", - "1961-04-03": "Easter Monday", - "1961-05-01": "1 May (Labour Day)", - "1961-12-25": "Christmas Day", - "1961-12-26": "26 December", - "1962-01-01": "New Year's Day", - "1962-04-20": "Good Friday", - "1962-04-23": "Easter Monday", - "1962-05-01": "1 May (Labour Day)", - "1962-12-25": "Christmas Day", - "1962-12-26": "26 December", - "1963-01-01": "New Year's Day", - "1963-04-12": "Good Friday", - "1963-04-15": "Easter Monday", - "1963-05-01": "1 May (Labour Day)", - "1963-12-25": "Christmas Day", - "1963-12-26": "26 December", - "1964-01-01": "New Year's Day", - "1964-03-27": "Good Friday", - "1964-03-30": "Easter Monday", - "1964-05-01": "1 May (Labour Day)", - "1964-12-25": "Christmas Day", - "1964-12-26": "26 December", - "1965-01-01": "New Year's Day", - "1965-04-16": "Good Friday", - "1965-04-19": "Easter Monday", - "1965-05-01": "1 May (Labour Day)", - "1965-12-25": "Christmas Day", - "1965-12-26": "26 December", - "1966-01-01": "New Year's Day", - "1966-04-08": "Good Friday", - "1966-04-11": "Easter Monday", - "1966-05-01": "1 May (Labour Day)", - "1966-12-25": "Christmas Day", - "1966-12-26": "26 December", - "1967-01-01": "New Year's Day", - "1967-03-24": "Good Friday", - "1967-03-27": "Easter Monday", - "1967-05-01": "1 May (Labour Day)", - "1967-12-25": "Christmas Day", - "1967-12-26": "26 December", - "1968-01-01": "New Year's Day", - "1968-04-12": "Good Friday", - "1968-04-15": "Easter Monday", - "1968-05-01": "1 May (Labour Day)", - "1968-12-25": "Christmas Day", - "1968-12-26": "26 December", - "1969-01-01": "New Year's Day", - "1969-04-04": "Good Friday", - "1969-04-07": "Easter Monday", - "1969-05-01": "1 May (Labour Day)", - "1969-12-25": "Christmas Day", - "1969-12-26": "26 December", - "1970-01-01": "New Year's Day", - "1970-03-27": "Good Friday", - "1970-03-30": "Easter Monday", - "1970-05-01": "1 May (Labour Day)", - "1970-12-25": "Christmas Day", - "1970-12-26": "26 December", - "1971-01-01": "New Year's Day", - "1971-04-09": "Good Friday", - "1971-04-12": "Easter Monday", - "1971-05-01": "1 May (Labour Day)", - "1971-12-25": "Christmas Day", - "1971-12-26": "26 December", - "1972-01-01": "New Year's Day", - "1972-03-31": "Good Friday", - "1972-04-03": "Easter Monday", - "1972-05-01": "1 May (Labour Day)", - "1972-12-25": "Christmas Day", - "1972-12-26": "26 December", - "1973-01-01": "New Year's Day", - "1973-04-20": "Good Friday", - "1973-04-23": "Easter Monday", - "1973-05-01": "1 May (Labour Day)", - "1973-12-25": "Christmas Day", - "1973-12-26": "26 December", - "1974-01-01": "New Year's Day", - "1974-04-12": "Good Friday", - "1974-04-15": "Easter Monday", - "1974-05-01": "1 May (Labour Day)", - "1974-12-25": "Christmas Day", - "1974-12-26": "26 December", - "1975-01-01": "New Year's Day", - "1975-03-28": "Good Friday", - "1975-03-31": "Easter Monday", - "1975-05-01": "1 May (Labour Day)", - "1975-12-25": "Christmas Day", - "1975-12-26": "26 December", - "1976-01-01": "New Year's Day", - "1976-04-16": "Good Friday", - "1976-04-19": "Easter Monday", - "1976-05-01": "1 May (Labour Day)", - "1976-12-25": "Christmas Day", - "1976-12-26": "26 December", - "1977-01-01": "New Year's Day", - "1977-04-08": "Good Friday", - "1977-04-11": "Easter Monday", - "1977-05-01": "1 May (Labour Day)", - "1977-12-25": "Christmas Day", - "1977-12-26": "26 December", - "1978-01-01": "New Year's Day", - "1978-03-24": "Good Friday", - "1978-03-27": "Easter Monday", - "1978-05-01": "1 May (Labour Day)", - "1978-12-25": "Christmas Day", - "1978-12-26": "26 December", - "1979-01-01": "New Year's Day", - "1979-04-13": "Good Friday", - "1979-04-16": "Easter Monday", - "1979-05-01": "1 May (Labour Day)", - "1979-12-25": "Christmas Day", - "1979-12-26": "26 December", - "1980-01-01": "New Year's Day", - "1980-04-04": "Good Friday", - "1980-04-07": "Easter Monday", - "1980-05-01": "1 May (Labour Day)", - "1980-12-25": "Christmas Day", - "1980-12-26": "26 December", - "1981-01-01": "New Year's Day", - "1981-04-17": "Good Friday", - "1981-04-20": "Easter Monday", - "1981-05-01": "1 May (Labour Day)", - "1981-12-25": "Christmas Day", - "1981-12-26": "26 December", - "1982-01-01": "New Year's Day", - "1982-04-09": "Good Friday", - "1982-04-12": "Easter Monday", - "1982-05-01": "1 May (Labour Day)", - "1982-12-25": "Christmas Day", - "1982-12-26": "26 December", - "1983-01-01": "New Year's Day", - "1983-04-01": "Good Friday", - "1983-04-04": "Easter Monday", - "1983-05-01": "1 May (Labour Day)", - "1983-12-25": "Christmas Day", - "1983-12-26": "26 December", - "1984-01-01": "New Year's Day", - "1984-04-20": "Good Friday", - "1984-04-23": "Easter Monday", - "1984-05-01": "1 May (Labour Day)", - "1984-12-25": "Christmas Day", - "1984-12-26": "26 December", - "1985-01-01": "New Year's Day", - "1985-04-05": "Good Friday", - "1985-04-08": "Easter Monday", - "1985-05-01": "1 May (Labour Day)", - "1985-12-25": "Christmas Day", - "1985-12-26": "26 December", - "1986-01-01": "New Year's Day", - "1986-03-28": "Good Friday", - "1986-03-31": "Easter Monday", - "1986-05-01": "1 May (Labour Day)", - "1986-12-25": "Christmas Day", - "1986-12-26": "26 December", - "1987-01-01": "New Year's Day", - "1987-04-17": "Good Friday", - "1987-04-20": "Easter Monday", - "1987-05-01": "1 May (Labour Day)", - "1987-12-25": "Christmas Day", - "1987-12-26": "26 December", - "1988-01-01": "New Year's Day", - "1988-04-01": "Good Friday", - "1988-04-04": "Easter Monday", - "1988-05-01": "1 May (Labour Day)", - "1988-12-25": "Christmas Day", - "1988-12-26": "26 December", - "1989-01-01": "New Year's Day", - "1989-03-24": "Good Friday", - "1989-03-27": "Easter Monday", - "1989-05-01": "1 May (Labour Day)", - "1989-12-25": "Christmas Day", - "1989-12-26": "26 December", - "1990-01-01": "New Year's Day", - "1990-04-13": "Good Friday", - "1990-04-16": "Easter Monday", - "1990-05-01": "1 May (Labour Day)", - "1990-12-25": "Christmas Day", - "1990-12-26": "26 December", - "1991-01-01": "New Year's Day", - "1991-03-29": "Good Friday", - "1991-04-01": "Easter Monday", - "1991-05-01": "1 May (Labour Day)", - "1991-12-25": "Christmas Day", - "1991-12-26": "26 December", - "1992-01-01": "New Year's Day", - "1992-04-17": "Good Friday", - "1992-04-20": "Easter Monday", - "1992-05-01": "1 May (Labour Day)", - "1992-12-25": "Christmas Day", - "1992-12-26": "26 December", - "1993-01-01": "New Year's Day", - "1993-04-09": "Good Friday", - "1993-04-12": "Easter Monday", - "1993-05-01": "1 May (Labour Day)", - "1993-12-25": "Christmas Day", - "1993-12-26": "26 December", - "1994-01-01": "New Year's Day", - "1994-04-01": "Good Friday", - "1994-04-04": "Easter Monday", - "1994-05-01": "1 May (Labour Day)", - "1994-12-25": "Christmas Day", - "1994-12-26": "26 December", - "1995-01-01": "New Year's Day", - "1995-04-14": "Good Friday", - "1995-04-17": "Easter Monday", - "1995-05-01": "1 May (Labour Day)", - "1995-12-25": "Christmas Day", - "1995-12-26": "26 December", - "1996-01-01": "New Year's Day", - "1996-04-05": "Good Friday", - "1996-04-08": "Easter Monday", - "1996-05-01": "1 May (Labour Day)", - "1996-12-25": "Christmas Day", - "1996-12-26": "26 December", - "1997-01-01": "New Year's Day", - "1997-03-28": "Good Friday", - "1997-03-31": "Easter Monday", - "1997-05-01": "1 May (Labour Day)", - "1997-12-25": "Christmas Day", - "1997-12-26": "26 December", - "1998-01-01": "New Year's Day", - "1998-04-10": "Good Friday", - "1998-04-13": "Easter Monday", - "1998-05-01": "1 May (Labour Day)", - "1998-12-25": "Christmas Day", - "1998-12-26": "26 December", - "1999-01-01": "New Year's Day", - "1999-04-02": "Good Friday", - "1999-04-05": "Easter Monday", - "1999-05-01": "1 May (Labour Day)", - "1999-12-25": "Christmas Day", - "1999-12-26": "26 December", "2000-01-01": "New Year's Day", "2000-04-21": "Good Friday", "2000-04-24": "Easter Monday", "2000-05-01": "1 May (Labour Day)", "2000-12-25": "Christmas Day", "2000-12-26": "26 December", + "2000-12-31": "Additional closing day", "2001-01-01": "New Year's Day", "2001-04-13": "Good Friday", "2001-04-16": "Easter Monday", diff --git a/snapshots/financial/TAR.json b/snapshots/financial/TAR.json index 63186072e..905e15ef8 100644 --- a/snapshots/financial/TAR.json +++ b/snapshots/financial/TAR.json @@ -1,310 +1,11 @@ { - "1950-01-01": "New Year's Day", - "1950-04-07": "Good Friday", - "1950-04-10": "Easter Monday", - "1950-05-01": "1 May (Labour Day)", - "1950-12-25": "Christmas Day", - "1950-12-26": "26 December", - "1951-01-01": "New Year's Day", - "1951-03-23": "Good Friday", - "1951-03-26": "Easter Monday", - "1951-05-01": "1 May (Labour Day)", - "1951-12-25": "Christmas Day", - "1951-12-26": "26 December", - "1952-01-01": "New Year's Day", - "1952-04-11": "Good Friday", - "1952-04-14": "Easter Monday", - "1952-05-01": "1 May (Labour Day)", - "1952-12-25": "Christmas Day", - "1952-12-26": "26 December", - "1953-01-01": "New Year's Day", - "1953-04-03": "Good Friday", - "1953-04-06": "Easter Monday", - "1953-05-01": "1 May (Labour Day)", - "1953-12-25": "Christmas Day", - "1953-12-26": "26 December", - "1954-01-01": "New Year's Day", - "1954-04-16": "Good Friday", - "1954-04-19": "Easter Monday", - "1954-05-01": "1 May (Labour Day)", - "1954-12-25": "Christmas Day", - "1954-12-26": "26 December", - "1955-01-01": "New Year's Day", - "1955-04-08": "Good Friday", - "1955-04-11": "Easter Monday", - "1955-05-01": "1 May (Labour Day)", - "1955-12-25": "Christmas Day", - "1955-12-26": "26 December", - "1956-01-01": "New Year's Day", - "1956-03-30": "Good Friday", - "1956-04-02": "Easter Monday", - "1956-05-01": "1 May (Labour Day)", - "1956-12-25": "Christmas Day", - "1956-12-26": "26 December", - "1957-01-01": "New Year's Day", - "1957-04-19": "Good Friday", - "1957-04-22": "Easter Monday", - "1957-05-01": "1 May (Labour Day)", - "1957-12-25": "Christmas Day", - "1957-12-26": "26 December", - "1958-01-01": "New Year's Day", - "1958-04-04": "Good Friday", - "1958-04-07": "Easter Monday", - "1958-05-01": "1 May (Labour Day)", - "1958-12-25": "Christmas Day", - "1958-12-26": "26 December", - "1959-01-01": "New Year's Day", - "1959-03-27": "Good Friday", - "1959-03-30": "Easter Monday", - "1959-05-01": "1 May (Labour Day)", - "1959-12-25": "Christmas Day", - "1959-12-26": "26 December", - "1960-01-01": "New Year's Day", - "1960-04-15": "Good Friday", - "1960-04-18": "Easter Monday", - "1960-05-01": "1 May (Labour Day)", - "1960-12-25": "Christmas Day", - "1960-12-26": "26 December", - "1961-01-01": "New Year's Day", - "1961-03-31": "Good Friday", - "1961-04-03": "Easter Monday", - "1961-05-01": "1 May (Labour Day)", - "1961-12-25": "Christmas Day", - "1961-12-26": "26 December", - "1962-01-01": "New Year's Day", - "1962-04-20": "Good Friday", - "1962-04-23": "Easter Monday", - "1962-05-01": "1 May (Labour Day)", - "1962-12-25": "Christmas Day", - "1962-12-26": "26 December", - "1963-01-01": "New Year's Day", - "1963-04-12": "Good Friday", - "1963-04-15": "Easter Monday", - "1963-05-01": "1 May (Labour Day)", - "1963-12-25": "Christmas Day", - "1963-12-26": "26 December", - "1964-01-01": "New Year's Day", - "1964-03-27": "Good Friday", - "1964-03-30": "Easter Monday", - "1964-05-01": "1 May (Labour Day)", - "1964-12-25": "Christmas Day", - "1964-12-26": "26 December", - "1965-01-01": "New Year's Day", - "1965-04-16": "Good Friday", - "1965-04-19": "Easter Monday", - "1965-05-01": "1 May (Labour Day)", - "1965-12-25": "Christmas Day", - "1965-12-26": "26 December", - "1966-01-01": "New Year's Day", - "1966-04-08": "Good Friday", - "1966-04-11": "Easter Monday", - "1966-05-01": "1 May (Labour Day)", - "1966-12-25": "Christmas Day", - "1966-12-26": "26 December", - "1967-01-01": "New Year's Day", - "1967-03-24": "Good Friday", - "1967-03-27": "Easter Monday", - "1967-05-01": "1 May (Labour Day)", - "1967-12-25": "Christmas Day", - "1967-12-26": "26 December", - "1968-01-01": "New Year's Day", - "1968-04-12": "Good Friday", - "1968-04-15": "Easter Monday", - "1968-05-01": "1 May (Labour Day)", - "1968-12-25": "Christmas Day", - "1968-12-26": "26 December", - "1969-01-01": "New Year's Day", - "1969-04-04": "Good Friday", - "1969-04-07": "Easter Monday", - "1969-05-01": "1 May (Labour Day)", - "1969-12-25": "Christmas Day", - "1969-12-26": "26 December", - "1970-01-01": "New Year's Day", - "1970-03-27": "Good Friday", - "1970-03-30": "Easter Monday", - "1970-05-01": "1 May (Labour Day)", - "1970-12-25": "Christmas Day", - "1970-12-26": "26 December", - "1971-01-01": "New Year's Day", - "1971-04-09": "Good Friday", - "1971-04-12": "Easter Monday", - "1971-05-01": "1 May (Labour Day)", - "1971-12-25": "Christmas Day", - "1971-12-26": "26 December", - "1972-01-01": "New Year's Day", - "1972-03-31": "Good Friday", - "1972-04-03": "Easter Monday", - "1972-05-01": "1 May (Labour Day)", - "1972-12-25": "Christmas Day", - "1972-12-26": "26 December", - "1973-01-01": "New Year's Day", - "1973-04-20": "Good Friday", - "1973-04-23": "Easter Monday", - "1973-05-01": "1 May (Labour Day)", - "1973-12-25": "Christmas Day", - "1973-12-26": "26 December", - "1974-01-01": "New Year's Day", - "1974-04-12": "Good Friday", - "1974-04-15": "Easter Monday", - "1974-05-01": "1 May (Labour Day)", - "1974-12-25": "Christmas Day", - "1974-12-26": "26 December", - "1975-01-01": "New Year's Day", - "1975-03-28": "Good Friday", - "1975-03-31": "Easter Monday", - "1975-05-01": "1 May (Labour Day)", - "1975-12-25": "Christmas Day", - "1975-12-26": "26 December", - "1976-01-01": "New Year's Day", - "1976-04-16": "Good Friday", - "1976-04-19": "Easter Monday", - "1976-05-01": "1 May (Labour Day)", - "1976-12-25": "Christmas Day", - "1976-12-26": "26 December", - "1977-01-01": "New Year's Day", - "1977-04-08": "Good Friday", - "1977-04-11": "Easter Monday", - "1977-05-01": "1 May (Labour Day)", - "1977-12-25": "Christmas Day", - "1977-12-26": "26 December", - "1978-01-01": "New Year's Day", - "1978-03-24": "Good Friday", - "1978-03-27": "Easter Monday", - "1978-05-01": "1 May (Labour Day)", - "1978-12-25": "Christmas Day", - "1978-12-26": "26 December", - "1979-01-01": "New Year's Day", - "1979-04-13": "Good Friday", - "1979-04-16": "Easter Monday", - "1979-05-01": "1 May (Labour Day)", - "1979-12-25": "Christmas Day", - "1979-12-26": "26 December", - "1980-01-01": "New Year's Day", - "1980-04-04": "Good Friday", - "1980-04-07": "Easter Monday", - "1980-05-01": "1 May (Labour Day)", - "1980-12-25": "Christmas Day", - "1980-12-26": "26 December", - "1981-01-01": "New Year's Day", - "1981-04-17": "Good Friday", - "1981-04-20": "Easter Monday", - "1981-05-01": "1 May (Labour Day)", - "1981-12-25": "Christmas Day", - "1981-12-26": "26 December", - "1982-01-01": "New Year's Day", - "1982-04-09": "Good Friday", - "1982-04-12": "Easter Monday", - "1982-05-01": "1 May (Labour Day)", - "1982-12-25": "Christmas Day", - "1982-12-26": "26 December", - "1983-01-01": "New Year's Day", - "1983-04-01": "Good Friday", - "1983-04-04": "Easter Monday", - "1983-05-01": "1 May (Labour Day)", - "1983-12-25": "Christmas Day", - "1983-12-26": "26 December", - "1984-01-01": "New Year's Day", - "1984-04-20": "Good Friday", - "1984-04-23": "Easter Monday", - "1984-05-01": "1 May (Labour Day)", - "1984-12-25": "Christmas Day", - "1984-12-26": "26 December", - "1985-01-01": "New Year's Day", - "1985-04-05": "Good Friday", - "1985-04-08": "Easter Monday", - "1985-05-01": "1 May (Labour Day)", - "1985-12-25": "Christmas Day", - "1985-12-26": "26 December", - "1986-01-01": "New Year's Day", - "1986-03-28": "Good Friday", - "1986-03-31": "Easter Monday", - "1986-05-01": "1 May (Labour Day)", - "1986-12-25": "Christmas Day", - "1986-12-26": "26 December", - "1987-01-01": "New Year's Day", - "1987-04-17": "Good Friday", - "1987-04-20": "Easter Monday", - "1987-05-01": "1 May (Labour Day)", - "1987-12-25": "Christmas Day", - "1987-12-26": "26 December", - "1988-01-01": "New Year's Day", - "1988-04-01": "Good Friday", - "1988-04-04": "Easter Monday", - "1988-05-01": "1 May (Labour Day)", - "1988-12-25": "Christmas Day", - "1988-12-26": "26 December", - "1989-01-01": "New Year's Day", - "1989-03-24": "Good Friday", - "1989-03-27": "Easter Monday", - "1989-05-01": "1 May (Labour Day)", - "1989-12-25": "Christmas Day", - "1989-12-26": "26 December", - "1990-01-01": "New Year's Day", - "1990-04-13": "Good Friday", - "1990-04-16": "Easter Monday", - "1990-05-01": "1 May (Labour Day)", - "1990-12-25": "Christmas Day", - "1990-12-26": "26 December", - "1991-01-01": "New Year's Day", - "1991-03-29": "Good Friday", - "1991-04-01": "Easter Monday", - "1991-05-01": "1 May (Labour Day)", - "1991-12-25": "Christmas Day", - "1991-12-26": "26 December", - "1992-01-01": "New Year's Day", - "1992-04-17": "Good Friday", - "1992-04-20": "Easter Monday", - "1992-05-01": "1 May (Labour Day)", - "1992-12-25": "Christmas Day", - "1992-12-26": "26 December", - "1993-01-01": "New Year's Day", - "1993-04-09": "Good Friday", - "1993-04-12": "Easter Monday", - "1993-05-01": "1 May (Labour Day)", - "1993-12-25": "Christmas Day", - "1993-12-26": "26 December", - "1994-01-01": "New Year's Day", - "1994-04-01": "Good Friday", - "1994-04-04": "Easter Monday", - "1994-05-01": "1 May (Labour Day)", - "1994-12-25": "Christmas Day", - "1994-12-26": "26 December", - "1995-01-01": "New Year's Day", - "1995-04-14": "Good Friday", - "1995-04-17": "Easter Monday", - "1995-05-01": "1 May (Labour Day)", - "1995-12-25": "Christmas Day", - "1995-12-26": "26 December", - "1996-01-01": "New Year's Day", - "1996-04-05": "Good Friday", - "1996-04-08": "Easter Monday", - "1996-05-01": "1 May (Labour Day)", - "1996-12-25": "Christmas Day", - "1996-12-26": "26 December", - "1997-01-01": "New Year's Day", - "1997-03-28": "Good Friday", - "1997-03-31": "Easter Monday", - "1997-05-01": "1 May (Labour Day)", - "1997-12-25": "Christmas Day", - "1997-12-26": "26 December", - "1998-01-01": "New Year's Day", - "1998-04-10": "Good Friday", - "1998-04-13": "Easter Monday", - "1998-05-01": "1 May (Labour Day)", - "1998-12-25": "Christmas Day", - "1998-12-26": "26 December", - "1999-01-01": "New Year's Day", - "1999-04-02": "Good Friday", - "1999-04-05": "Easter Monday", - "1999-05-01": "1 May (Labour Day)", - "1999-12-25": "Christmas Day", - "1999-12-26": "26 December", "2000-01-01": "New Year's Day", "2000-04-21": "Good Friday", "2000-04-24": "Easter Monday", "2000-05-01": "1 May (Labour Day)", "2000-12-25": "Christmas Day", "2000-12-26": "26 December", + "2000-12-31": "Additional closing day", "2001-01-01": "New Year's Day", "2001-04-13": "Good Friday", "2001-04-16": "Easter Monday", diff --git a/tests/financial/test_european_central_bank.py b/tests/financial/test_european_central_bank.py index ae1b1ab0b..dccdbbd15 100644 --- a/tests/financial/test_european_central_bank.py +++ b/tests/financial/test_european_central_bank.py @@ -10,8 +10,6 @@ # Website: https://github.com/vacanza/python-holidays # License: MIT (see LICENSE file) -from datetime import date -from datetime import timedelta as td from unittest import TestCase from holidays.financial.european_central_bank import EuropeanCentralBank, ECB, TAR @@ -21,67 +19,58 @@ class TestEuropeanCentralBank(CommonFinancialTests, TestCase): @classmethod def setUpClass(cls): - super().setUpClass(EuropeanCentralBank) + super().setUpClass(EuropeanCentralBank, years=range(2000, 2100)) def test_market_aliases(self): self.assertAliases(EuropeanCentralBank, ECB, TAR) + def test_no_holidays(self): + self.assertNoHolidays(EuropeanCentralBank(years=1999)) + + def test_special_holidays(self): + self.assertHoliday("2000-12-31") + def test_new_years(self): - for year in range(1974, 2100): - dt = date(year, 1, 1) - self.assertIn(dt, self.holidays) - self.assertNotIn(dt + td(days=-1), self.holidays) + self.assertHolidayName("New Year's Day", (f"{year}-01-01" for year in range(2000, 2100))) def test_good_friday(self): - for dt in ( - date(1900, 4, 13), - date(1901, 4, 5), - date(1902, 3, 28), - date(1999, 4, 2), - date(2000, 4, 21), - date(2010, 4, 2), - date(2018, 3, 30), - date(2019, 4, 19), - date(2020, 4, 10), - ): - self.assertIn(dt, self.holidays) - self.assertNotIn(dt + td(days=-1), self.holidays) - self.assertNotIn(dt + td(days=+1), self.holidays) + dt = ( + "2000-04-21", + "2010-04-02", + "2018-03-30", + "2019-04-19", + "2020-04-10", + "2021-04-02", + "2022-04-15", + "2023-04-07", + "2024-03-29", + ) + self.assertHolidayName("Good Friday", dt) def test_easter_monday(self): - for dt in ( - date(1900, 4, 16), - date(1901, 4, 8), - date(1902, 3, 31), - date(1999, 4, 5), - date(2000, 4, 24), - date(2010, 4, 5), - date(2018, 4, 2), - date(2019, 4, 22), - date(2020, 4, 13), - ): - self.assertIn(dt, self.holidays) - self.assertNotIn(dt + td(days=-1), self.holidays) - self.assertNotIn(dt + td(days=+1), self.holidays) + dt = ( + "2000-04-24", + "2010-04-05", + "2018-04-02", + "2019-04-22", + "2020-04-13", + "2021-04-05", + "2022-04-18", + "2023-04-10", + "2024-04-01", + ) + self.assertHolidayName("Easter Monday", dt) def test_labour_day(self): - for year in range(1900, 2100): - dt = date(year, 5, 1) - self.assertIn(dt, self.holidays) - self.assertNotIn(dt + td(days=-1), self.holidays) - self.assertNotIn(dt + td(days=+1), self.holidays) + self.assertHolidayName( + "1 May (Labour Day)", (f"{year}-05-01" for year in range(2000, 2100)) + ) def test_christmas_day(self): - for year in range(1900, 2100): - dt = date(year, 12, 25) - self.assertIn(dt, self.holidays) - self.assertNotIn(dt + td(days=-1), self.holidays) + self.assertHolidayName("Christmas Day", (f"{year}-12-25" for year in range(2000, 2100))) def test_26_december_day(self): - for year in range(1900, 2100): - dt = date(year, 12, 26) - self.assertIn(dt, self.holidays) - self.assertNotIn(dt + td(days=+1), self.holidays) + self.assertHolidayName("26 December", (f"{year}-12-26" for year in range(2000, 2100))) def test_2015(self): self.assertHolidays(