]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-98513: Test abstract methods of some `collections` types (GH-98516)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 8 Nov 2022 02:19:33 +0000 (18:19 -0800)
committerGitHub <noreply@github.com>
Tue, 8 Nov 2022 02:19:33 +0000 (18:19 -0800)
(cherry picked from commit a309ad9f76db4ab9a8f933ab1ffea78ecaca827f)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
Lib/test/test_collections.py

index 17afda415bb240321a0731872ebdf102f9c57be5..f5af55a364b1c885d36f34f409cdffe15b41a1d3 100644 (file)
@@ -788,6 +788,8 @@ class TestOneTrickPonyABCs(ABCTestCase):
             def __await__(self):
                 yield
 
+        self.validate_abstract_methods(Awaitable, '__await__')
+
         non_samples = [None, int(), gen(), object()]
         for x in non_samples:
             self.assertNotIsInstance(x, Awaitable)
@@ -838,6 +840,8 @@ class TestOneTrickPonyABCs(ABCTestCase):
             def __await__(self):
                 yield
 
+        self.validate_abstract_methods(Coroutine, '__await__', 'send', 'throw')
+
         non_samples = [None, int(), gen(), object(), Bar()]
         for x in non_samples:
             self.assertNotIsInstance(x, Coroutine)
@@ -1921,6 +1925,7 @@ class TestCollectionABCs(ABCTestCase):
             self.assertFalse(issubclass(sample, ByteString))
         self.assertNotIsInstance(memoryview(b""), ByteString)
         self.assertFalse(issubclass(memoryview, ByteString))
+        self.validate_abstract_methods(ByteString, '__getitem__', '__len__')
 
     def test_MutableSequence(self):
         for sample in [tuple, str, bytes]: