File tree 2 files changed +9
-1
lines changed
2 files changed +9
-1
lines changed Original file line number Diff line number Diff line change @@ -61,7 +61,7 @@ def is_any(checker, instance):
61
61
return True
62
62
63
63
64
- @attr .s (frozen = True )
64
+ @attr .s (frozen = True , repr = False )
65
65
class TypeChecker :
66
66
"""
67
67
A :kw:`type` property checker.
@@ -89,6 +89,10 @@ class TypeChecker:
89
89
converter = _typed_pmap_converter ,
90
90
)
91
91
92
+ def __repr__ (self ):
93
+ types = ", " .join (repr (k ) for k in sorted (self ._type_checkers ))
94
+ return f"<{ self .__class__ .__name__ } types={{{ types } }}>"
95
+
92
96
def is_type (self , instance , type : str ) -> bool :
93
97
"""
94
98
Check if the instance is of the appropriate type.
Original file line number Diff line number Diff line change @@ -105,6 +105,10 @@ def raises_keyerror(checker, instance):
105
105
106
106
self .assertIs (context .exception , error )
107
107
108
+ def test_repr (self ):
109
+ checker = TypeChecker ({"foo" : is_namedtuple , "bar" : is_namedtuple })
110
+ self .assertEqual (repr (checker ), "<TypeChecker types={'bar', 'foo'}>" )
111
+
108
112
109
113
class TestCustomTypes (TestCase ):
110
114
def test_simple_type_can_be_extended (self ):
You can’t perform that action at this time.
0 commit comments