diff options
| author | Bob Halley <halley@dnspython.org> | 2022-01-24 12:54:20 -0800 |
|---|---|---|
| committer | Bob Halley <halley@dnspython.org> | 2022-01-24 12:54:20 -0800 |
| commit | 2b16bffb0539bd23dd900b66af2c407a1a4e8083 (patch) | |
| tree | 97fcf93f556d87900951043dafecd02477720bbf /tests | |
| parent | fa3c1bd9e6e1399cbca3be6e4950ce5514619fdc (diff) | |
| download | dnspython-2b16bffb0539bd23dd900b66af2c407a1a4e8083.tar.gz | |
add a few other missing things from the current python set API
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_set.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/test_set.py b/tests/test_set.py index 6fd0860..103a6e9 100644 --- a/tests/test_set.py +++ b/tests/test_set.py @@ -133,6 +133,19 @@ class SetTestCase(unittest.TestCase): e = S([]) self.assertEqual(s1 ^ s2, e) + def testSymmetricDifference5(self): + s1 = S([1, 2, 3]) + s2 = S([2, 4]) + s1 ^= s2 + e = S([1, 3, 4]) + self.assertEqual(s1, e) + + def testSymmetricDifference6(self): + s1 = S([1, 2, 3]) + s1 ^= s1 + e = S([]) + self.assertEqual(s1, e) + def testSubset1(self): s1 = S([1, 2, 3]) s2 = S([3, 2, 1]) @@ -191,6 +204,35 @@ class SetTestCase(unittest.TestCase): s2 = S([1, 4]) self.assertTrue(not s1.issuperset(s2)) + def testDisjoint1(self): + s1 = S([1, 2, 3]) + s2 = S([4]) + self.assertTrue(s1.isdisjoint(s2)) + + def testDisjoint2(self): + s1 = S([1, 2, 3]) + s2 = S([2, 4]) + self.assertTrue(not s1.isdisjoint(s2)) + + def testDisjoint3(self): + s1 = S([1, 2, 3]) + s2 = S([]) + self.assertTrue(s1.isdisjoint(s2)) + + def testPop(self): + original = S([1, 2, 3]) + s1 = original.copy() + item = s1.pop() + self.assertTrue(len(s1) == 2) + self.assertTrue(item in original) + item = s1.pop() + self.assertTrue(len(s1) == 1) + self.assertTrue(item in original) + item = s1.pop() + self.assertTrue(len(s1) == 0) + self.assertTrue(item in original) + self.assertRaises(KeyError, lambda: s1.pop()) + def testUpdate1(self): s1 = S([1, 2, 3]) u = (4, 5, 6) @@ -259,6 +301,8 @@ class SetTestCase(unittest.TestCase): s = S([1, 2, 3]) self.assertRaises(ValueError, lambda: s.union_update(1)) self.assertRaises(ValueError, lambda: s.intersection_update(1)) + self.assertRaises(ValueError, lambda: s.difference_update(1)) + self.assertRaises(ValueError, lambda: s.symmetric_difference_update(1)) def testSelfUpdates(self): expected = S([1, 2, 3]) @@ -275,6 +319,10 @@ class SetTestCase(unittest.TestCase): self.assertRaises(ValueError, lambda: s.issubset(123)) self.assertRaises(ValueError, lambda: s.issuperset(123)) + def testBadDisjoint(self): + s = S([1, 2, 3]) + self.assertRaises(ValueError, lambda: s.isdisjoint(123)) + def testIncrementalOperators(self): s = S([1, 2, 3]) s += S([5, 4]) |
