mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
[3.11] Remove raw asserts in test_typing.py (GH-104951) (#104979)
Remove raw asserts in test_typing.py (GH-104951)
(cherry picked from commit 2cb445635e
)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
This commit is contained in:
parent
f585ed19ad
commit
ca5524745d
1 changed files with 30 additions and 22 deletions
|
@ -5956,7 +5956,7 @@ class CollectionsAbcTests(BaseTestCase):
|
|||
return 0
|
||||
|
||||
self.assertEqual(len(MMC()), 0)
|
||||
assert callable(MMC.update)
|
||||
self.assertTrue(callable(MMC.update))
|
||||
self.assertIsInstance(MMC(), typing.Mapping)
|
||||
|
||||
class MMB(typing.MutableMapping[KT, VT]):
|
||||
|
@ -6151,8 +6151,8 @@ class TypeTests(BaseTestCase):
|
|||
else:
|
||||
return a()
|
||||
|
||||
assert isinstance(foo(KeyboardInterrupt), KeyboardInterrupt)
|
||||
assert foo(None) is None
|
||||
self.assertIsInstance(foo(KeyboardInterrupt), KeyboardInterrupt)
|
||||
self.assertIsNone(foo(None))
|
||||
|
||||
|
||||
class TestModules(TestCase):
|
||||
|
@ -6483,6 +6483,10 @@ class TypedDictTests(BaseTestCase):
|
|||
self.assertEqual(Emp.__bases__, (dict,))
|
||||
self.assertEqual(Emp.__annotations__, {'name': str, 'id': int})
|
||||
self.assertEqual(Emp.__total__, True)
|
||||
self.assertEqual(Emp.__required_keys__, {'name', 'id'})
|
||||
self.assertIsInstance(Emp.__required_keys__, frozenset)
|
||||
self.assertEqual(Emp.__optional_keys__, set())
|
||||
self.assertIsInstance(Emp.__optional_keys__, frozenset)
|
||||
|
||||
def test_basics_keywords_syntax(self):
|
||||
with self.assertWarns(DeprecationWarning):
|
||||
|
@ -6585,7 +6589,9 @@ class TypedDictTests(BaseTestCase):
|
|||
self.assertEqual(D(x=1), {'x': 1})
|
||||
self.assertEqual(D.__total__, False)
|
||||
self.assertEqual(D.__required_keys__, frozenset())
|
||||
self.assertIsInstance(D.__required_keys__, frozenset)
|
||||
self.assertEqual(D.__optional_keys__, {'x'})
|
||||
self.assertIsInstance(D.__optional_keys__, frozenset)
|
||||
|
||||
self.assertEqual(Options(), {})
|
||||
self.assertEqual(Options(log_level=2), {'log_level': 2})
|
||||
|
@ -6597,8 +6603,10 @@ class TypedDictTests(BaseTestCase):
|
|||
class Point2Dor3D(Point2D, total=False):
|
||||
z: int
|
||||
|
||||
assert Point2Dor3D.__required_keys__ == frozenset(['x', 'y'])
|
||||
assert Point2Dor3D.__optional_keys__ == frozenset(['z'])
|
||||
self.assertEqual(Point2Dor3D.__required_keys__, frozenset(['x', 'y']))
|
||||
self.assertIsInstance(Point2Dor3D.__required_keys__, frozenset)
|
||||
self.assertEqual(Point2Dor3D.__optional_keys__, frozenset(['z']))
|
||||
self.assertIsInstance(Point2Dor3D.__optional_keys__, frozenset)
|
||||
|
||||
def test_keys_inheritance(self):
|
||||
class BaseAnimal(TypedDict):
|
||||
|
@ -6611,26 +6619,26 @@ class TypedDictTests(BaseTestCase):
|
|||
class Cat(Animal):
|
||||
fur_color: str
|
||||
|
||||
assert BaseAnimal.__required_keys__ == frozenset(['name'])
|
||||
assert BaseAnimal.__optional_keys__ == frozenset([])
|
||||
assert BaseAnimal.__annotations__ == {'name': str}
|
||||
self.assertEqual(BaseAnimal.__required_keys__, frozenset(['name']))
|
||||
self.assertEqual(BaseAnimal.__optional_keys__, frozenset([]))
|
||||
self.assertEqual(BaseAnimal.__annotations__, {'name': str})
|
||||
|
||||
assert Animal.__required_keys__ == frozenset(['name'])
|
||||
assert Animal.__optional_keys__ == frozenset(['tail', 'voice'])
|
||||
assert Animal.__annotations__ == {
|
||||
self.assertEqual(Animal.__required_keys__, frozenset(['name']))
|
||||
self.assertEqual(Animal.__optional_keys__, frozenset(['tail', 'voice']))
|
||||
self.assertEqual(Animal.__annotations__, {
|
||||
'name': str,
|
||||
'tail': bool,
|
||||
'voice': str,
|
||||
}
|
||||
})
|
||||
|
||||
assert Cat.__required_keys__ == frozenset(['name', 'fur_color'])
|
||||
assert Cat.__optional_keys__ == frozenset(['tail', 'voice'])
|
||||
assert Cat.__annotations__ == {
|
||||
self.assertEqual(Cat.__required_keys__, frozenset(['name', 'fur_color']))
|
||||
self.assertEqual(Cat.__optional_keys__, frozenset(['tail', 'voice']))
|
||||
self.assertEqual(Cat.__annotations__, {
|
||||
'fur_color': str,
|
||||
'name': str,
|
||||
'tail': bool,
|
||||
'voice': str,
|
||||
}
|
||||
})
|
||||
|
||||
def test_required_notrequired_keys(self):
|
||||
self.assertEqual(NontotalMovie.__required_keys__,
|
||||
|
@ -6840,11 +6848,11 @@ class TypedDictTests(BaseTestCase):
|
|||
self.assertEqual(C.__total__, True)
|
||||
self.assertEqual(C.__optional_keys__, frozenset(['b']))
|
||||
self.assertEqual(C.__required_keys__, frozenset(['a', 'c']))
|
||||
assert C.__annotations__ == {
|
||||
self.assertEqual(C.__annotations__, {
|
||||
'a': T,
|
||||
'b': KT,
|
||||
'c': int,
|
||||
}
|
||||
})
|
||||
with self.assertRaises(TypeError):
|
||||
C[str]
|
||||
|
||||
|
@ -6859,11 +6867,11 @@ class TypedDictTests(BaseTestCase):
|
|||
self.assertEqual(Point3D.__total__, True)
|
||||
self.assertEqual(Point3D.__optional_keys__, frozenset())
|
||||
self.assertEqual(Point3D.__required_keys__, frozenset(['a', 'b', 'c']))
|
||||
assert Point3D.__annotations__ == {
|
||||
self.assertEqual(Point3D.__annotations__, {
|
||||
'a': T,
|
||||
'b': T,
|
||||
'c': KT,
|
||||
}
|
||||
})
|
||||
self.assertEqual(Point3D[int, str].__origin__, Point3D)
|
||||
|
||||
with self.assertRaises(TypeError):
|
||||
|
@ -6890,11 +6898,11 @@ class TypedDictTests(BaseTestCase):
|
|||
self.assertEqual(WithImplicitAny.__total__, True)
|
||||
self.assertEqual(WithImplicitAny.__optional_keys__, frozenset(['b']))
|
||||
self.assertEqual(WithImplicitAny.__required_keys__, frozenset(['a', 'c']))
|
||||
assert WithImplicitAny.__annotations__ == {
|
||||
self.assertEqual(WithImplicitAny.__annotations__, {
|
||||
'a': T,
|
||||
'b': KT,
|
||||
'c': int,
|
||||
}
|
||||
})
|
||||
with self.assertRaises(TypeError):
|
||||
WithImplicitAny[str]
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue