]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-44353: Add test to cover __or__ of two NewType (#27259)
authorYurii Karabas <1998uriyyo@gmail.com>
Tue, 20 Jul 2021 14:48:05 +0000 (17:48 +0300)
committerGitHub <noreply@github.com>
Tue, 20 Jul 2021 14:48:05 +0000 (16:48 +0200)
Lib/test/test_typing.py

index 169b92b6513792e7967c33eab6b59f1ce7b38468..ba51b9c3e066b55a7934a2b064bb60b0e8c4824b 100644 (file)
@@ -3693,12 +3693,15 @@ class NewTypeTests(BaseTestCase):
 
     def test_or(self):
         UserId = NewType('UserId', int)
+        UserName = NewType('UserName', str)
 
-        self.assertEqual(UserId | int, Union[UserId, int])
-        self.assertEqual(int | UserId, Union[int, UserId])
+        for cls in (int, UserName):
+            with self.subTest(cls=cls):
+                self.assertEqual(UserId | cls, Union[UserId, cls])
+                self.assertEqual(cls | UserId, Union[cls, UserId])
 
-        self.assertEqual(get_args(UserId | int), (UserId, int))
-        self.assertEqual(get_args(int | UserId), (int, UserId))
+                self.assertEqual(get_args(UserId | cls), (UserId, cls))
+                self.assertEqual(get_args(cls | UserId), (cls, UserId))
 
     def test_special_attrs(self):
         UserId = NewType('UserId', int)