diff options
author | Raymond Hettinger <python@rcn.com> | 2002-11-25 20:43:55 (GMT) |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2002-11-25 20:43:55 (GMT) |
commit | 35e48d2426e50306cb957da26777b1e3469c53b3 (patch) | |
tree | 65bbc08c8b4a46f639a8913befc092d30ebecc5f | |
parent | 919000e9ec36c513f08253091b71a3aead2aff08 (diff) | |
download | cpython-35e48d2426e50306cb957da26777b1e3469c53b3.zip cpython-35e48d2426e50306cb957da26777b1e3469c53b3.tar.gz cpython-35e48d2426e50306cb957da26777b1e3469c53b3.tar.bz2 |
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.
-rw-r--r-- | Lib/sets.py | 3 | ||||
-rw-r--r-- | Lib/test/test_sets.py | 3 |
2 files changed, 3 insertions, 3 deletions
diff --git a/Lib/sets.py b/Lib/sets.py index 5dac370a..2605c98 100644 --- a/Lib/sets.py +++ b/Lib/sets.py @@ -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 diff --git a/Lib/test/test_sets.py b/Lib/test/test_sets.py index 9bc3eeb..f80d58e 100644 --- a/Lib/test/test_sets.py +++ b/Lib/test/test_sets.py @@ -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))) |