Skip to content

Commit 366ea4c

Browse files
committed
add tests and optional dep for jupyter users
1 parent dba0d40 commit 366ea4c

File tree

3 files changed

+27
-1
lines changed

3 files changed

+27
-1
lines changed

aocd/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "1.2.4"
1+
__version__ = "1.3.0"

setup.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,5 @@
4545
"tzlocal",
4646
],
4747
options={"bdist_wheel": {"universal": "1"}},
48+
extras_require={"nb": ["IPython", "jupyter-server"]}
4849
)

tests/test_date_introspection.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,28 @@ def test_day_is_invalid(mocker):
3636
mocker.patch("aocd.get.traceback.extract_stack", return_value=fake_stack)
3737
with pytest.raises(AocdError("Failed introspection of day")):
3838
get_day_and_year()
39+
40+
41+
def test_ipynb_ok(mocker):
42+
fake_stack = [("ipykernel/123456789.py", 1, "<test>", "from aocd import data")]
43+
mocker.patch("aocd.get.traceback.extract_stack", return_value=fake_stack)
44+
mocker.patch("aocd.get.get_ipynb_path", return_value="puzzle-2020-03.py")
45+
day, year = get_day_and_year()
46+
assert day == 3
47+
assert year == 2020
48+
49+
50+
def test_ipynb_fail(mocker):
51+
fake_stack = [("ipykernel/123456789.py", 1, "<test>", "from aocd import data")]
52+
mocker.patch("aocd.get.traceback.extract_stack", return_value=fake_stack)
53+
mocker.patch("aocd.get.get_ipynb_path", side_effect=ImportError)
54+
with pytest.raises(AocdError("Failed introspection of filename")):
55+
get_day_and_year()
56+
57+
58+
def test_ipynb_fail_no_numbers_in_ipynb_filename(mocker):
59+
fake_stack = [("ipykernel/123456789.py", 1, "<test>", "from aocd import data")]
60+
mocker.patch("aocd.get.traceback.extract_stack", return_value=fake_stack)
61+
mocker.patch("aocd.get.get_ipynb_path", "puzzle.py")
62+
with pytest.raises(AocdError("Failed introspection of filename")):
63+
get_day_and_year()

0 commit comments

Comments
 (0)