Skip to content

Commit 1a5c9c1

Browse files
authored
Refactor United States tests (vacanza#3790)
1 parent 6486576 commit 1a5c9c1

1 file changed

Lines changed: 26 additions & 32 deletions

File tree

tests/countries/test_united_states.py

Lines changed: 26 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212

1313
from unittest import TestCase
1414

15-
from holidays.constants import UNOFFICIAL
1615
from holidays.countries.united_states import UnitedStates
1716
from tests.common import CommonCountryTests
1817

@@ -982,10 +981,11 @@ def test_lee_jackson_day(self):
982981

983982
def test_inauguration_day(self):
984983
name = "Inauguration Day"
984+
name_observed = f"{name} (observed)"
985985
self.assertNoHolidayName(name)
986-
years_1861 = range(1861, 1937, 4)
986+
years_1789 = range(1789, 1937, 4)
987987
years_1937 = range(1937, self.end_year, 4)
988-
years_no = set(range(1865, self.end_year)) - set(years_1861) - set(years_1937)
988+
years_no = set(self.full_range) - set(years_1789) - set(years_1937)
989989
obs_dts = (
990990
"1877-03-05",
991991
"1917-03-05",
@@ -995,21 +995,20 @@ def test_inauguration_day(self):
995995
)
996996
for subdiv in ("DC", "MD", "VA"):
997997
self.assertHolidayName(
998-
name, self.subdiv_holidays[subdiv], (f"{year}-03-04" for year in years_1861)
998+
name, self.subdiv_holidays[subdiv], (f"{year}-03-04" for year in years_1789)
999999
)
10001000
self.assertHolidayName(
10011001
name, self.subdiv_holidays[subdiv], (f"{year}-01-20" for year in years_1937)
10021002
)
1003-
self.assertHolidayName(name, UnitedStates(subdiv=subdiv), "1789-03-04")
1004-
self.assertNoHolidayName(name, UnitedStates(subdiv=subdiv), "1788-03-04")
10051003
self.assertNoHolidayName(name, self.subdiv_holidays[subdiv], years_no)
1006-
self.assertHolidayName(f"{name} (observed)", self.subdiv_holidays[subdiv], obs_dts)
1004+
self.assertHolidayName(name_observed, self.subdiv_holidays[subdiv], obs_dts)
10071005
self.assertNoNonObservedHolidayName(
1008-
f"{name} (observed)", UnitedStates(subdiv=subdiv, observed=False), obs_dts
1006+
name_observed, UnitedStates(subdiv=subdiv, observed=False), obs_dts
10091007
)
10101008

10111009
def test_lincolns_birthday(self):
10121010
name = "Lincoln's Birthday"
1011+
name_observed = f"{name} (observed)"
10131012
self.assertNoHolidayName(name)
10141013
obs_dts = (
10151014
"2011-02-11",
@@ -1024,9 +1023,9 @@ def test_lincolns_birthday(self):
10241023
self.subdiv_holidays[subdiv],
10251024
(f"{year}-02-12" for year in range(1971, self.end_year)),
10261025
)
1027-
self.assertHolidayName(f"{name} (observed)", self.subdiv_holidays[subdiv], obs_dts)
1026+
self.assertHolidayName(name_observed, self.subdiv_holidays[subdiv], obs_dts)
10281027
self.assertNoNonObservedHolidayName(
1029-
f"{name} (observed)", UnitedStates(subdiv=subdiv, observed=False), obs_dts
1028+
name_observed, self.subdiv_holidays_non_observed[subdiv], obs_dts
10301029
)
10311030

10321031
obs_dts = (
@@ -1040,8 +1039,8 @@ def test_lincolns_birthday(self):
10401039
self.assertNoSubdivAkHolidayName(
10411040
name, range(self.start_year, 1959), range(1990, self.end_year)
10421041
)
1043-
self.assertSubdivAkHolidayName(f"{name} (observed)", obs_dts)
1044-
self.assertNoSubdivAkNonObservedHolidayName(f"{name} (observed)", obs_dts)
1042+
self.assertSubdivAkHolidayName(name_observed, obs_dts)
1043+
self.assertNoSubdivAkNonObservedHolidayName(name_observed, obs_dts)
10451044

10461045
obs_dts = (
10471046
"1994-02-11",
@@ -1054,8 +1053,8 @@ def test_lincolns_birthday(self):
10541053
self.assertNoSubdivCaHolidayName(
10551054
name, range(self.start_year, 1971), range(2010, self.end_year)
10561055
)
1057-
self.assertSubdivCaHolidayName(f"{name} (observed)", obs_dts)
1058-
self.assertNoSubdivCaNonObservedHolidayName(f"{name} (observed)", obs_dts)
1056+
self.assertSubdivCaHolidayName(name_observed, obs_dts)
1057+
self.assertNoSubdivCaNonObservedHolidayName(name_observed, obs_dts)
10591058

10601059
def test_susan_b_anthony_day(self):
10611060
name = "Susan B. Anthony Day"
@@ -1884,7 +1883,7 @@ def test_election_day(self):
18841883
# This is actually for the Presidential Election, but let's keep the same name
18851884
# to prevent duplicates for states which have them as proper public holidays.
18861885

1887-
dt = (
1886+
dts = (
18881887
"1868-11-03",
18891888
"1872-11-05",
18901889
"1876-11-07",
@@ -1926,12 +1925,11 @@ def test_election_day(self):
19261925
"2020-11-03",
19271926
"2024-11-05",
19281927
)
1929-
for subdiv in UnitedStates.subdivisions:
1930-
holidays = UnitedStates(subdiv=subdiv, categories=UNOFFICIAL, years=self.full_range)
1928+
for subdiv, holidays in self.subdiv_unofficial_holidays.items():
19311929
if subdiv in {"AS", "GU", "MP", "PR", "UM", "VI"}:
19321930
self.assertNoHolidayName(name, holidays)
19331931
else:
1934-
self.assertHolidayName(name, holidays, dt)
1932+
self.assertHolidayName(name, holidays, dts)
19351933
self.assertNoHolidayName(name, holidays, range(self.start_year, 1848))
19361934

19371935
def test_valentines_day(self):
@@ -1989,8 +1987,7 @@ def test_groundhog_day(self):
19891987
name, (f"{year}-02-02" for year in range(1886, self.end_year))
19901988
)
19911989
self.assertNoUnofficialHolidayName(name, range(self.start_year, 1886))
1992-
for subdiv in UnitedStates.subdivisions:
1993-
holidays = UnitedStates(subdiv=subdiv, categories=UNOFFICIAL, years=self.full_range)
1990+
for subdiv, holidays in self.subdiv_unofficial_holidays.items():
19941991
if subdiv in {"AS", "GU", "MP", "PR", "UM", "VI"}:
19951992
self.assertNoHolidayName(name, holidays)
19961993
else:
@@ -2150,6 +2147,7 @@ def test_constitution_day_mp(self):
21502147

21512148
def test_christmas_eve(self):
21522149
name = "Christmas Eve"
2150+
name_observed = f"{name} (observed)"
21532151
self.assertNoHolidayName(name)
21542152
obs_dts = (
21552153
"2016-12-23",
@@ -2173,9 +2171,9 @@ def test_christmas_eve(self):
21732171
self.assertNoHolidayName(
21742172
name, self.subdiv_holidays[subdiv], range(self.start_year, start_year)
21752173
)
2176-
self.assertHolidayName(f"{name} (observed)", self.subdiv_holidays[subdiv], obs_dts)
2174+
self.assertHolidayName(name_observed, self.subdiv_holidays[subdiv], obs_dts)
21772175
self.assertNoNonObservedHolidayName(
2178-
f"{name} (observed)", UnitedStates(subdiv=subdiv, observed=False), obs_dts
2176+
name_observed, self.subdiv_holidays_non_observed[subdiv], obs_dts
21792177
)
21802178

21812179
# Unofficial.
@@ -2197,20 +2195,15 @@ def test_day_after_christmas(self):
21972195
for subdiv, name, start_year in (
21982196
("NC", "Day After Christmas", 2013),
21992197
("TX", "Day After Christmas", 1981),
2200-
("VI", "Christmas Second Day", -1),
2198+
("VI", "Christmas Second Day", None),
22012199
):
22022200
self.assertNoHolidayName(name)
22032201
self.assertHolidayName(
22042202
name,
22052203
self.subdiv_holidays[subdiv],
2206-
(
2207-
f"{year}-12-26"
2208-
for year in range(
2209-
start_year if start_year > 0 else self.start_year, self.end_year
2210-
)
2211-
),
2204+
(f"{year}-12-26" for year in range(start_year or self.start_year, self.end_year)),
22122205
)
2213-
if start_year > 0:
2206+
if start_year:
22142207
self.assertNoHolidayName(
22152208
name, self.subdiv_holidays[subdiv], range(self.start_year, start_year)
22162209
)
@@ -2227,6 +2220,7 @@ def test_day_after_christmas(self):
22272220

22282221
def test_new_years_eve(self):
22292222
name = "New Year's Eve"
2223+
name_observed = f"{name} (observed)"
22302224
self.assertNoHolidayName(name)
22312225
obs_dts = (
22322226
"2016-12-30",
@@ -2245,9 +2239,9 @@ def test_new_years_eve(self):
22452239
self.assertNoHolidayName(
22462240
name, self.subdiv_holidays[subdiv], range(self.start_year, start_year)
22472241
)
2248-
self.assertHolidayName(f"{name} (observed)", self.subdiv_holidays[subdiv], obs_dts)
2242+
self.assertHolidayName(name_observed, self.subdiv_holidays[subdiv], obs_dts)
22492243
self.assertNoNonObservedHolidayName(
2250-
f"{name} (observed)", UnitedStates(subdiv=subdiv, observed=False), obs_dts
2244+
name_observed, self.subdiv_holidays_non_observed[subdiv], obs_dts
22512245
)
22522246

22532247
# Unofficial.

0 commit comments

Comments
 (0)