Issue 15246: Improve test coverage for collections.abc.Set. (Contributed by James King).
This commit is contained in:
parent
62f4dad816
commit
2d452ee166
|
@ -640,6 +640,59 @@ class TestCollectionABCs(ABCTestCase):
|
|||
a, b = OneTwoThreeSet(), OneTwoThreeSet()
|
||||
self.assertTrue(hash(a) == hash(b))
|
||||
|
||||
def test_isdisjoint_Set(self):
|
||||
class MySet(Set):
|
||||
def __init__(self, itr):
|
||||
self.contents = itr
|
||||
def __contains__(self, x):
|
||||
return x in self.contents
|
||||
def __iter__(self):
|
||||
return iter(self.contents)
|
||||
def __len__(self):
|
||||
return len([x for x in self.contents])
|
||||
s1 = MySet((1, 2, 3))
|
||||
s2 = MySet((4, 5, 6))
|
||||
s3 = MySet((1, 5, 6))
|
||||
self.assertTrue(s1.isdisjoint(s2))
|
||||
self.assertFalse(s1.isdisjoint(s3))
|
||||
|
||||
def test_equality_Set(self):
|
||||
class MySet(Set):
|
||||
def __init__(self, itr):
|
||||
self.contents = itr
|
||||
def __contains__(self, x):
|
||||
return x in self.contents
|
||||
def __iter__(self):
|
||||
return iter(self.contents)
|
||||
def __len__(self):
|
||||
return len([x for x in self.contents])
|
||||
s1 = MySet((1,))
|
||||
s2 = MySet((1, 2))
|
||||
s3 = MySet((3, 4))
|
||||
s4 = MySet((3, 4))
|
||||
self.assertTrue(s2 > s1)
|
||||
self.assertTrue(s1 < s2)
|
||||
self.assertFalse(s2 <= s1)
|
||||
self.assertFalse(s2 <= s3)
|
||||
self.assertFalse(s1 >= s2)
|
||||
self.assertEqual(s3, s4)
|
||||
self.assertNotEqual(s2, s3)
|
||||
|
||||
def test_arithmetic_Set(self):
|
||||
class MySet(Set):
|
||||
def __init__(self, itr):
|
||||
self.contents = itr
|
||||
def __contains__(self, x):
|
||||
return x in self.contents
|
||||
def __iter__(self):
|
||||
return iter(self.contents)
|
||||
def __len__(self):
|
||||
return len([x for x in self.contents])
|
||||
s1 = MySet((1, 2, 3))
|
||||
s2 = MySet((3, 4, 5))
|
||||
s3 = s1 & s2
|
||||
self.assertEqual(s3, MySet((3,)))
|
||||
|
||||
def test_MutableSet(self):
|
||||
self.assertIsInstance(set(), MutableSet)
|
||||
self.assertTrue(issubclass(set, MutableSet))
|
||||
|
|
Loading…
Reference in New Issue