1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162
|
# holidays
# --------
# A fast, efficient Python library for generating country, province and state
# specific sets of holidays on the fly. It aims to make determining whether a
# specific date is a holiday as fast and flexible as possible.
#
# Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
# dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
# ryanss <ryanssdev@icloud.com> (c) 2014-2017
# Website: https://github.com/vacanza/holidays
# License: MIT (see LICENSE file)
from unittest import TestCase
from holidays.countries.cameroon import Cameroon
from tests.common import CommonCountryTests
class TestCameroon(CommonCountryTests, TestCase):
@classmethod
def setUpClass(cls):
super().setUpClass(Cameroon)
def test_special_holidays(self):
self.assertHoliday("2021-05-14", "2021-07-19")
def test_new_years_day(self):
name = "New Year's Day"
self.assertHolidayName(name, (f"{year}-01-01" for year in self.full_range))
obs_dts = (
"2012-01-02",
"2017-01-02",
"2023-01-02",
)
self.assertHolidayName(f"{name} (observed)", obs_dts)
self.assertNoNonObservedHoliday(obs_dts)
def test_youth_day(self):
name = "Youth Day"
self.assertHolidayName(name, (f"{year}-02-11" for year in range(1966, self.end_year)))
self.assertNoHolidayName(name, range(self.start_year, 1966))
obs_dts = (
"2018-02-12",
"2024-02-12",
)
self.assertHolidayName(f"{name} (observed)", obs_dts)
self.assertNoNonObservedHoliday(obs_dts)
def test_labor_day(self):
name = "Labour Day"
self.assertHolidayName(name, (f"{year}-05-01" for year in self.full_range))
obs_dts = (
"2016-05-02",
"2022-05-03",
)
self.assertHolidayName(f"{name} (observed)", obs_dts)
self.assertNoNonObservedHoliday(obs_dts)
def test_national_day(self):
name = "National Day"
self.assertHolidayName(name, (f"{year}-05-20" for year in range(1972, self.end_year)))
self.assertNoHolidayName(name, range(self.start_year, 1972))
obs_dts = (
"2012-05-21",
"2018-05-21",
)
self.assertHolidayName(f"{name} (observed)", obs_dts)
self.assertNoNonObservedHoliday(obs_dts)
def test_assumption_day(self):
name = "Assumption Day"
self.assertHolidayName(name, (f"{year}-08-15" for year in self.full_range))
obs_dts = (
"2010-08-16",
"2021-08-16",
)
self.assertHolidayName(f"{name} (observed)", obs_dts)
self.assertNoNonObservedHoliday(obs_dts)
def test_christmas_day(self):
name = "Christmas Day"
self.assertHolidayName(name, (f"{year}-12-25" for year in self.full_range))
obs_dts = (
"2011-12-26",
"2016-12-26",
"2022-12-26",
)
self.assertHolidayName(f"{name} (observed)", obs_dts)
self.assertNoNonObservedHoliday(obs_dts)
def test_eid_al_fitr(self):
name = "Eid al-Fitr"
self.assertHolidayName(
name,
"2018-06-15",
"2019-06-04",
"2020-05-24",
"2021-05-13",
"2022-05-02",
)
self.assertIslamicNoEstimatedHolidayName(name, self.full_range)
obs_dts = (
"2012-08-20",
"2020-05-25",
)
self.assertHolidayName(f"{name} (observed)", obs_dts)
self.assertNoNonObservedHoliday(obs_dts)
def test_eid_al_adha(self):
name = "Eid al-Adha"
self.assertHolidayName(
name,
"2018-08-21",
"2019-08-11",
"2020-07-31",
"2021-07-20",
"2022-07-09",
)
self.assertIslamicNoEstimatedHolidayName(name, self.full_range)
obs_dts = (
"2007-01-02", # special case
"2014-10-06",
"2019-08-12",
)
self.assertHolidayName(f"{name} (observed)", obs_dts)
self.assertNoNonObservedHoliday(obs_dts)
def test_prophets_birthday(self):
name = "Mawlid"
self.assertHolidayName(
name,
"2018-11-21",
"2019-11-10",
"2020-10-29",
"2021-10-19",
"2022-10-08",
)
self.assertIslamicNoEstimatedHolidayName(name, self.full_range)
obs_dts = (
"2012-02-06",
"2019-11-11",
)
self.assertHolidayName(f"{name} (observed)", obs_dts)
self.assertNoNonObservedHoliday(obs_dts)
def test_2022(self):
self.assertHolidaysInYear(
2022,
("2022-01-01", "New Year's Day"),
("2022-02-11", "Youth Day"),
("2022-04-15", "Good Friday"),
("2022-05-01", "Labour Day"),
("2022-05-02", "Eid al-Fitr"),
("2022-05-03", "Labour Day (observed)"),
("2022-05-20", "National Day"),
("2022-05-26", "Ascension Day"),
("2022-07-09", "Eid al-Adha"),
("2022-08-15", "Assumption Day"),
("2022-10-08", "Mawlid"),
("2022-12-25", "Christmas Day"),
("2022-12-26", "Christmas Day (observed)"),
)
|