mirror of https://github.com/python/cpython
SF 643115: Set._update() had a special case for dictionaries which allowed
non-true values to leak in. This threw-off equality testing which depends on the underlying dictionaries having both the same keys and values.
This commit is contained in:
parent
919000e9ec
commit
35e48d2426
|
@ -315,9 +315,6 @@ class BaseSet(object):
|
|||
if isinstance(iterable, BaseSet):
|
||||
data.update(iterable._data)
|
||||
return
|
||||
if isinstance(iterable, dict):
|
||||
data.update(iterable)
|
||||
return
|
||||
|
||||
value = True
|
||||
|
||||
|
|
|
@ -179,6 +179,9 @@ class TestBinaryOps(unittest.TestCase):
|
|||
def setUp(self):
|
||||
self.set = Set((2, 4, 6))
|
||||
|
||||
def test_eq(self): # SF bug 643115
|
||||
self.assertEqual(self.set, Set({2:1,4:3,6:5}))
|
||||
|
||||
def test_union_subset(self):
|
||||
result = self.set | Set([2])
|
||||
self.assertEqual(result, Set((2, 4, 6)))
|
||||
|
|
Loading…
Reference in New Issue