diff options
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): |