diff options
author | Yurii Karabas <1998uriyyo@gmail.com> | 2021-07-20 13:20:38 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-20 13:20:38 (GMT) |
commit | 965dd76e9060e27e2253ba8c8d21a142b178720d (patch) | |
tree | 9dd54317abe0b0a0009de0b07a7ee5fd2b5e0f39 /Lib/test/test_typing.py | |
parent | 4c0deb25ac899fbe4da626ce3cb21f204cdd3aa9 (diff) | |
download | cpython-965dd76e9060e27e2253ba8c8d21a142b178720d.zip cpython-965dd76e9060e27e2253ba8c8d21a142b178720d.tar.gz cpython-965dd76e9060e27e2253ba8c8d21a142b178720d.tar.bz2 |
bpo-44353: Refactor typing.NewType into callable class (GH-27250)
Diffstat (limited to 'Lib/test/test_typing.py')
-rw-r--r-- | Lib/test/test_typing.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py index b696447..169b92b 100644 --- a/Lib/test/test_typing.py +++ b/Lib/test/test_typing.py @@ -3691,6 +3691,26 @@ class NewTypeTests(BaseTestCase): class D(UserName): pass + def test_or(self): + UserId = NewType('UserId', int) + + self.assertEqual(UserId | int, Union[UserId, int]) + self.assertEqual(int | UserId, Union[int, UserId]) + + self.assertEqual(get_args(UserId | int), (UserId, int)) + self.assertEqual(get_args(int | UserId), (int, UserId)) + + def test_special_attrs(self): + UserId = NewType('UserId', int) + + self.assertEqual(UserId.__name__, 'UserId') + self.assertEqual(UserId.__qualname__, 'UserId') + self.assertEqual(UserId.__module__, __name__) + + def test_repr(self): + UserId = NewType('UserId', int) + + self.assertEqual(repr(UserId), f'{__name__}.UserId') class NamedTupleTests(BaseTestCase): class NestedEmployee(NamedTuple): |