diff options
author | Raymond Hettinger <rhettinger@users.noreply.github.com> | 2019-02-24 06:19:01 (GMT) |
---|---|---|
committer | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2019-02-24 06:19:01 (GMT) |
commit | 79fbcc597dfd039d3261fffcb519b5ec5a18df9d (patch) | |
tree | 9d56ae7f0a317d315533aac7ae2efd425a9efb05 | |
parent | e895de3e7f3cc2f7213b87621cfe9812ea4343f0 (diff) | |
download | cpython-79fbcc597dfd039d3261fffcb519b5ec5a18df9d.zip cpython-79fbcc597dfd039d3261fffcb519b5ec5a18df9d.tar.gz cpython-79fbcc597dfd039d3261fffcb519b5ec5a18df9d.tar.bz2 |
bpo-36018: Make __pos__ return a distinct instance of NormDist (GH-12009)
https://bugs.python.org/issue36018
-rw-r--r-- | Lib/statistics.py | 2 | ||||
-rw-r--r-- | Lib/test/test_statistics.py | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/Lib/statistics.py b/Lib/statistics.py index a73001a..bf10e19 100644 --- a/Lib/statistics.py +++ b/Lib/statistics.py @@ -762,7 +762,7 @@ class NormalDist: return NormalDist(x1.mu / x2, x1.sigma / fabs(x2)) def __pos__(x1): - return x1 + return NormalDist(x1.mu, x1.sigma) def __neg__(x1): return NormalDist(-x1.mu, x1.sigma) diff --git a/Lib/test/test_statistics.py b/Lib/test/test_statistics.py index a65fbe8..9549240 100644 --- a/Lib/test/test_statistics.py +++ b/Lib/test/test_statistics.py @@ -2128,6 +2128,18 @@ class TestNormalDist(unittest.TestCase): with self.assertRaises(statistics.StatisticsError): Y.cdf(90) + def test_unary_operations(self): + NormalDist = statistics.NormalDist + X = NormalDist(100, 12) + Y = +X + self.assertIsNot(X, Y) + self.assertEqual(X.mu, Y.mu) + self.assertEqual(X.sigma, Y.sigma) + Y = -X + self.assertIsNot(X, Y) + self.assertEqual(X.mu, -Y.mu) + self.assertEqual(X.sigma, Y.sigma) + def test_same_type_addition_and_subtraction(self): NormalDist = statistics.NormalDist X = NormalDist(100, 12) |