File tree Expand file tree Collapse file tree 3 files changed +34
-1
lines changed Expand file tree Collapse file tree 3 files changed +34
-1
lines changed Original file line number Diff line number Diff line change @@ -87,7 +87,7 @@ Let's define some instances:
87
87
88
88
.. code :: python
89
89
90
- >> > @ json.instance # You can use just the annotation
90
+ >> > @ json.instance( str )
91
91
... def _json_str (instance : str ) -> str :
92
92
... return ' "{0} "' .format(instance)
93
93
Original file line number Diff line number Diff line change @@ -80,6 +80,13 @@ omit =
80
80
# which does not work with coverage:
81
81
classes/contrib/mypy/*
82
82
83
+ [coverage:report]
84
+ exclude_lines =
85
+ # a more strict default pragma
86
+ \# pragma: no cover\b
87
+
88
+ ^if TYPE_CHECKING:
89
+
83
90
84
91
[mypy]
85
92
# mypy configurations: http://bit.ly/2zEl9WI
Original file line number Diff line number Diff line change
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 )
You can’t perform that action at this time.
0 commit comments