@@ -3918,9 +3918,9 @@ def c(self) -> int: ...
3918
3918
3919
3919
class Concrete :
3920
3920
a : int
3921
- def b (self ) -> str : return "capybara"
3921
+ def b (self ) -> str : raise NotImplementedError
3922
3922
@property
3923
- def c (self ) -> int : return 5
3923
+ def c (self ) -> int : raise NotImplementedError
3924
3924
3925
3925
with self .assertRaisesRegex (TypeError , "not a Protocol" ):
3926
3926
get_protocol_members (Concrete )
@@ -3929,9 +3929,9 @@ def c(self) -> int: return 5
3929
3929
3930
3930
class ConcreteInherit (P ):
3931
3931
a : int = 42
3932
- def b (self ) -> str : return "capybara"
3932
+ def b (self ) -> str : raise NotImplementedError
3933
3933
@property
3934
- def c (self ) -> int : return 5
3934
+ def c (self ) -> int : raise NotImplementedError
3935
3935
3936
3936
with self .assertRaisesRegex (TypeError , "not a Protocol" ):
3937
3937
get_protocol_members (ConcreteInherit )
@@ -3955,9 +3955,9 @@ def c(self) -> int: ...
3955
3955
3956
3956
class Concrete :
3957
3957
a : int
3958
- def b (self ) -> str : return "capybara"
3958
+ def b (self ) -> str : raise NotImplementedError
3959
3959
@property
3960
- def c (self ) -> int : return 5
3960
+ def c (self ) -> int : raise NotImplementedError
3961
3961
3962
3962
with self .assertRaisesRegex (TypeError , "not a Protocol" ):
3963
3963
get_protocol_members (Concrete )
@@ -3966,9 +3966,9 @@ def c(self) -> int: return 5
3966
3966
3967
3967
class ConcreteInherit (P ):
3968
3968
a : int = 42
3969
- def b (self ) -> str : return "capybara"
3969
+ def b (self ) -> str : raise NotImplementedError
3970
3970
@property
3971
- def c (self ) -> int : return 5
3971
+ def c (self ) -> int : raise NotImplementedError
3972
3972
3973
3973
with self .assertRaisesRegex (TypeError , "not a Protocol" ):
3974
3974
get_protocol_members (ConcreteInherit )
@@ -4095,7 +4095,7 @@ class Vec2D(Protocol):
4095
4095
y : float
4096
4096
4097
4097
def square_norm (self ) -> float :
4098
- return self . x ** 2 + self . y ** 2
4098
+ raise NotImplementedError
4099
4099
4100
4100
self .assertEqual (Vec2D .__protocol_attrs__ , {'x' , 'y' , 'square_norm' })
4101
4101
expected_error_message = (
@@ -4155,23 +4155,23 @@ class SpecificProtocolTests(BaseTestCase):
4155
4155
def test_reader_runtime_checkable (self ):
4156
4156
class MyReader :
4157
4157
def read (self , n : int ) -> bytes :
4158
- return b""
4158
+ raise NotImplementedError
4159
4159
4160
4160
class WrongReader :
4161
4161
def readx (self , n : int ) -> bytes :
4162
- return b""
4162
+ raise NotImplementedError
4163
4163
4164
4164
self .assertIsInstance (MyReader (), typing_extensions .Reader )
4165
4165
self .assertNotIsInstance (WrongReader (), typing_extensions .Reader )
4166
4166
4167
4167
def test_writer_runtime_checkable (self ):
4168
4168
class MyWriter :
4169
4169
def write (self , b : bytes ) -> int :
4170
- return 0
4170
+ raise NotImplementedError
4171
4171
4172
4172
class WrongWriter :
4173
4173
def writex (self , b : bytes ) -> int :
4174
- return 0
4174
+ raise NotImplementedError
4175
4175
4176
4176
self .assertIsInstance (MyWriter (), typing_extensions .Writer )
4177
4177
self .assertNotIsInstance (WrongWriter (), typing_extensions .Writer )
@@ -9360,5 +9360,5 @@ def test_sentinel_not_picklable(self):
9360
9360
pickle .dumps (sentinel )
9361
9361
9362
9362
9363
- if __name__ == '__main__' :
9363
+ if __name__ == '__main__' : # pragma: no cover
9364
9364
main ()
0 commit comments