Skip to content

Commit 5db614f

Browse files
bites 197 - datetime
1 parent 09d04c7 commit 5db614f

File tree

3 files changed

+42
-0
lines changed

3 files changed

+42
-0
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,4 @@
6969
/116/README.md
7070
/187/README.md
7171
/148/README.md
72+
/197/README.md

197/mday.py

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
from datetime import date, timedelta
2+
3+
4+
def get_mothers_day_date(year):
5+
"""Given the passed in year int, return the date Mother's Day
6+
is celebrated assuming it's the 2nd Sunday of May."""
7+
day = date(year=year, month=5, day=1)
8+
while 1:
9+
if day.weekday() == 6:
10+
day += timedelta(days=7)
11+
break
12+
day += timedelta(days=1)
13+
return day
14+
15+
# print(get_mothers_day_date(2014))

197/test_mday.py

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
from datetime import date
2+
3+
import pytest
4+
5+
from mday import get_mothers_day_date
6+
7+
8+
def test_check_type():
9+
assert type(get_mothers_day_date(2019)) == date
10+
11+
12+
@pytest.mark.parametrize('arg,expected', [
13+
(2014, date(2014, 5, 11)),
14+
(2015, date(2015, 5, 10)),
15+
(2016, date(2016, 5, 8)),
16+
(2017, date(2017, 5, 14)),
17+
(2018, date(2018, 5, 13)),
18+
(2019, date(2019, 5, 12)),
19+
(2020, date(2020, 5, 10)),
20+
(2021, date(2021, 5, 9)),
21+
(2022, date(2022, 5, 8)),
22+
(2023, date(2023, 5, 14)),
23+
(2024, date(2024, 5, 12)),
24+
])
25+
def test_return_various_years(arg, expected):
26+
assert get_mothers_day_date(arg) == expected

0 commit comments

Comments
 (0)