diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ef176e0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +coverage.xml +.coverage diff --git a/setup.cfg b/setup.cfg index ff07ac7..a193373 100644 --- a/setup.cfg +++ b/setup.cfg @@ -9,5 +9,16 @@ skip = .venv,.tox extend-ignore = E203,E501 extend-exclude = .venv +[tool:pytest] +addopts = + --cov-report term-missing --cov-branch --cov-report xml --cov-report term + --cov=tests.code -vv --strict-markers -rfE + +filterwarnings = + error + [mypy] no_implicit_optional = True + +[mypy-django.*,importlib_metadata.*,psycopg2.*,aiopg.*] +ignore_missing_imports = True diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/code.py b/tests/code.py new file mode 100644 index 0000000..972a635 --- /dev/null +++ b/tests/code.py @@ -0,0 +1,10 @@ +from typing import Optional + + +def code(arg: Optional[bool]) -> str: + if arg is None: + return "a" + elif arg is True: + return "b" + else: + return "c" diff --git a/tests/requirements.txt b/tests/requirements.txt new file mode 100644 index 0000000..9955dec --- /dev/null +++ b/tests/requirements.txt @@ -0,0 +1,2 @@ +pytest +pytest-cov diff --git a/tests/test_code.py b/tests/test_code.py new file mode 100644 index 0000000..d3e4c7d --- /dev/null +++ b/tests/test_code.py @@ -0,0 +1,8 @@ +import pytest + +from . import code + + +@pytest.mark.parametrize("arg, expected", [(None, "a")]) +def test_code(arg, expected): + assert code.code(arg) == expected