From b062e0f2abc189f352e019bac6854f469e9dfc8c Mon Sep 17 00:00:00 2001 From: Tom van der Lee Date: Fri, 3 Dec 2021 14:15:14 +0100 Subject: Added tests --- conftest.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 conftest.py (limited to 'conftest.py') diff --git a/conftest.py b/conftest.py new file mode 100644 index 0000000..3bae1e2 --- /dev/null +++ b/conftest.py @@ -0,0 +1,35 @@ +import importlib +import os +from pkgutil import walk_packages + +from _pytest.python import Metafunc + +from aoc.__main__ import day + +dir_path = os.path.dirname(os.path.realpath(__file__)) + +def pytest_generate_tests(metafunc: Metafunc): + if 'assignment' in metafunc.fixturenames: + packages = [ + importlib.import_module(package.name) + for package + in walk_packages([dir_path]) + if package.name.startswith('day') + ] + + assignments = [ + (getattr(package, f'Assignment{day(part)}'), package) + for package in packages + for part in ['1', '2'] + ] + + metafunc.parametrize( + argnames=f'assignment', + argvalues=[ + Assignment(path=package.__path__[0]) + for (Assignment, package) + in assignments + if Assignment is not None + ], + ids=lambda assignment: str(assignment) + ) -- cgit v1.2.3