Merge pull request #518 from peopledoc/515-croatia-changes-2020

Introducing the changes in Croatia holidays as of 2020
This commit is contained in:
Bruno Bord 2020-06-26 17:35:52 +02:00 committed by GitHub
commit c777a2e3a3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 76 additions and 10 deletions

View File

@ -3,6 +3,7 @@
## master (unreleased)
- Bugfix: setting *Consciência Negra day* as a non-holiday by default for Brazilian calendars, thx to @edniemeyer (#516).
- Bugfix: Introducing the changes in Croatia holidays as of 2020 - Remembrance Day, Independence Day, Statehood Day... thx to @davidpodrebarac for the bug report (#515).
## v10.1.0 (2020-06-18)

View File

@ -1,3 +1,5 @@
from datetime import date
from ..core import WesternCalendar, ChristianMixin
from ..registry_tools import iso_register
@ -9,9 +11,7 @@ class Croatia(WesternCalendar, ChristianMixin):
FIXED_HOLIDAYS = WesternCalendar.FIXED_HOLIDAYS + (
(5, 1, "International Workers' Day"),
(6, 22, "Anti-Fascist Struggle Day"),
(6, 25, "Statehood Day"),
(8, 5, "Victory & Homeland Thanksgiving & Day of Croatian defenders"),
(10, 8, "Independence Day"),
)
include_epiphany = True
@ -23,3 +23,22 @@ class Croatia(WesternCalendar, ChristianMixin):
include_christmas = True
include_boxing_day = True
boxing_day_label = "St. Stephen's Day"
def get_fixed_holidays(self, year):
days = super().get_fixed_holidays(year)
if year >= 2020:
days.extend([
# Statehood date has changed in 2020
(date(year, 5, 30), "Statehood Day"),
# Remembrance Day has been added in 2020
(date(year, 11, 18), "Remembrance Day"),
])
else:
days.extend([
(date(year, 6, 25), "Statehood Day"),
# Independance day was a holiday until 2020
(date(year, 10, 8), "Independence Day"),
])
return days

View File

@ -239,21 +239,67 @@ class CroatiaTest(GenericCalendarTest):
def test_year_2016(self):
holidays = self.cal.holidays_set(2016)
self.assertIn(date(2016, 1, 1), holidays) # New Year's Day Nova Godin
self.assertIn(date(2016, 1, 6), holidays) # Epiphany Bogojavljenje,
self.assertIn(date(2016, 3, 27), holidays) # Easter Sunday Uskrs i us
self.assertIn(date(2016, 1, 1), holidays) # New Year's Day
self.assertIn(date(2016, 1, 6), holidays) # Epiphany / Bogojavljenje
self.assertIn(date(2016, 3, 27), holidays) # Easter Sunday
self.assertIn(date(2016, 3, 28), holidays) # Easter Monday
self.assertIn(date(2016, 5, 1), holidays) # Intl Workers' Day Međunar
self.assertIn(date(2016, 5, 26), holidays) # Corpus Christi Tijelovo
self.assertIn(date(2016, 6, 22), holidays) # Anti-Fascist Day Dan anti
self.assertIn(date(2016, 6, 25), holidays) # Statehood Day Dan drž
self.assertIn(date(2016, 5, 1), holidays) # Intl Workers' Day
self.assertIn(date(2016, 5, 26), holidays) # Corpus Christi / Tijelovo
self.assertIn(date(2016, 6, 22), holidays) # Anti-Fascist Day
self.assertIn(date(2016, 6, 25), holidays) # Statehood Day
self.assertIn(date(2016, 8, 5), holidays) # Victory & Homeland Thanks
self.assertIn(date(2016, 8, 15), holidays) # Assumption of Mary Vel
self.assertIn(date(2016, 8, 15), holidays) # Assumption of Mary
self.assertIn(date(2016, 10, 8), holidays) # Independence Day Dan neov
self.assertIn(date(2016, 11, 1), holidays) # All Saints' Day Dan svih
self.assertIn(date(2016, 12, 25), holidays) # Christmas Božić
self.assertIn(date(2016, 12, 26), holidays) # St. Stephen's Day Prvi d
def test_year_2020(self):
holidays = self.cal.holidays_set(2020)
self.assertIn(date(2020, 1, 1), holidays) # New Year's Day
self.assertIn(date(2020, 1, 6), holidays) # Epiphany / Bogojavljenje
self.assertIn(date(2020, 4, 12), holidays) # Easter Sunday
self.assertIn(date(2020, 4, 13), holidays) # Easter Monday
self.assertIn(date(2020, 5, 1), holidays) # Labour Day
self.assertIn(date(2020, 5, 30), holidays) # Statehood day
self.assertIn(date(2020, 6, 11), holidays) # Corpus Christi
self.assertIn(date(2020, 6, 22), holidays) # Anti-Fascist Day
# Victory & Homeland Thanksgiving
self.assertIn(date(2020, 8, 5), holidays)
self.assertIn(date(2020, 8, 15), holidays) # Assumption of Mary
self.assertIn(date(2020, 11, 1), holidays) # All Saints' Day
self.assertIn(date(2020, 11, 18), holidays) # Remembrance Day
self.assertIn(date(2020, 12, 25), holidays) # XMas
self.assertIn(date(2020, 12, 26), holidays) # St Stephen
def test_statehood_day(self):
holidays_2019 = self.cal.holidays_set(2019)
holidays_2020 = self.cal.holidays_set(2020)
# Statehood day was a holiday on June 25th until 2020
self.assertIn(date(2019, 6, 25), holidays_2019)
self.assertNotIn(date(2020, 6, 25), holidays_2020)
# Statehood day as of 2020 happens on May 30th
self.assertNotIn(date(2019, 5, 30), holidays_2019)
self.assertIn(date(2020, 5, 30), holidays_2020)
def test_independance_day(self):
# Independence Day was a holiday until 2020
holidays_2019 = self.cal.holidays_set(2019)
self.assertIn(date(2019, 10, 8), holidays_2019)
holidays_2020 = self.cal.holidays_set(2020)
self.assertNotIn(date(2020, 10, 8), holidays_2020)
def test_remembrance_day(self):
# Remembrance Day was introduced as of 2020
holidays_2018 = self.cal.holidays_set(2018)
self.assertNotIn(date(2018, 11, 18), holidays_2018)
holidays_2019 = self.cal.holidays_set(2019)
self.assertNotIn(date(2019, 11, 18), holidays_2019)
holidays_2020 = self.cal.holidays_set(2020)
self.assertIn(date(2020, 11, 18), holidays_2020)
class Cyprus(GenericCalendarTest):
cal_class = Cyprus