[Python-checkins] bpo-38521: Fix error in NormalDist.__eq__() (GH-16840)

Raymond Hettinger webhook-mailer at python.org
Fri Oct 18 17:20:41 EDT 2019


https://github.com/python/cpython/commit/5eabec022b9a10734fcf58faad02c4d233592f64
commit: 5eabec022b9a10734fcf58faad02c4d233592f64
branch: master
author: Raymond Hettinger <rhettinger at users.noreply.github.com>
committer: GitHub <noreply at github.com>
date: 2019-10-18T14:20:35-07:00
summary:

bpo-38521: Fix error in NormalDist.__eq__() (GH-16840)

files:
A Misc/NEWS.d/next/Library/2019-10-18-13-57-31.bpo-38521.U-7aaM.rst
M Lib/statistics.py
M Lib/test/test_statistics.py

diff --git a/Lib/statistics.py b/Lib/statistics.py
index 0d747b3d6c053..461ffae3f4914 100644
--- a/Lib/statistics.py
+++ b/Lib/statistics.py
@@ -1092,7 +1092,7 @@ def __eq__(x1, x2):
         "Two NormalDist objects are equal if their mu and sigma are both equal."
         if not isinstance(x2, NormalDist):
             return NotImplemented
-        return (x1._mu, x2._sigma) == (x2._mu, x2._sigma)
+        return x1._mu == x2._mu and x1._sigma == x2._sigma
 
     def __hash__(self):
         "NormalDist objects hash equal if their mu and sigma are both equal."
diff --git a/Lib/test/test_statistics.py b/Lib/test/test_statistics.py
index af26473e8fdfc..bebd9b5d6f502 100644
--- a/Lib/test/test_statistics.py
+++ b/Lib/test/test_statistics.py
@@ -2651,9 +2651,13 @@ def test_equality(self):
         nd2 = NormalDist(2, 4)
         nd3 = NormalDist()
         nd4 = NormalDist(2, 4)
+        nd5 = NormalDist(2, 8)
+        nd6 = NormalDist(8, 4)
         self.assertNotEqual(nd1, nd2)
         self.assertEqual(nd1, nd3)
         self.assertEqual(nd2, nd4)
+        self.assertNotEqual(nd2, nd5)
+        self.assertNotEqual(nd2, nd6)
 
         # Test NotImplemented when types are different
         class A:
diff --git a/Misc/NEWS.d/next/Library/2019-10-18-13-57-31.bpo-38521.U-7aaM.rst b/Misc/NEWS.d/next/Library/2019-10-18-13-57-31.bpo-38521.U-7aaM.rst
new file mode 100644
index 0000000000000..9335bdc9545c4
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2019-10-18-13-57-31.bpo-38521.U-7aaM.rst
@@ -0,0 +1 @@
+Fixed erroneous equality comparison in statistics.NormalDist().



More information about the Python-checkins mailing list