Skip to content

Commit ee33ff2

Browse files
committed
Fixes pytest
1 parent 8a80395 commit ee33ff2

File tree

3 files changed

+34
-1
lines changed

3 files changed

+34
-1
lines changed

docs/pages/concept.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ Let's define some instances:
8787

8888
.. code:: python
8989
90-
>>> @json.instance # You can use just the annotation
90+
>>> @json.instance(str)
9191
... def _json_str(instance: str) -> str:
9292
... return '"{0}"'.format(instance)
9393

setup.cfg

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,13 @@ omit =
8080
# which does not work with coverage:
8181
classes/contrib/mypy/*
8282

83+
[coverage:report]
84+
exclude_lines =
85+
# a more strict default pragma
86+
\# pragma: no cover\b
87+
88+
^if TYPE_CHECKING:
89+
8390

8491
[mypy]
8592
# mypy configurations: http://bit.ly/2zEl9WI

tests/test_typeclass/test_reuse.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import pytest
2+
3+
from classes import typeclass
4+
5+
6+
class _Example(object):
7+
def __call__(self, instance) -> str:
8+
"""Example class-based typeclass def."""
9+
10+
11+
def _example(instance) -> str:
12+
"""Example function-based typeclass def."""
13+
14+
15+
def test_class_reuse() -> None:
16+
"""Ensures that it is impossible to reuse classes."""
17+
typeclass(_Example)
18+
19+
with pytest.raises(TypeError):
20+
typeclass(_Example)
21+
22+
23+
def test_function_reuse() -> None:
24+
"""Ensures that it is possible to reuse classes."""
25+
typeclass(_example)
26+
typeclass(_example)

0 commit comments

Comments
 (0)