[Python-checkins] bpo-45852: Fix the Counter/iter test for statistics.mode() (GH-29667)
rhettinger
webhook-mailer at python.org
Sat Nov 20 12:01:13 EST 2021
https://github.com/python/cpython/commit/48744db70ed519c1566c22bf123a0e1f5c69253f
commit: 48744db70ed519c1566c22bf123a0e1f5c69253f
branch: main
author: Raymond Hettinger <rhettinger at users.noreply.github.com>
committer: rhettinger <rhettinger at users.noreply.github.com>
date: 2021-11-20T11:01:09-06:00
summary:
bpo-45852: Fix the Counter/iter test for statistics.mode() (GH-29667)
Suggested by Stefan Pochmann.
files:
M Lib/test/test_statistics.py
diff --git a/Lib/test/test_statistics.py b/Lib/test/test_statistics.py
index 5cb055c981c44..fbc6a071cfd34 100644
--- a/Lib/test/test_statistics.py
+++ b/Lib/test/test_statistics.py
@@ -1900,10 +1900,13 @@ def test_none_data(self):
def test_counter_data(self):
# Test that a Counter is treated like any other iterable.
- data = collections.Counter([1, 1, 1, 2])
- # Since the keys of the counter are treated as data points, not the
- # counts, this should return the first mode encountered, 1
- self.assertEqual(self.func(data), 1)
+ # We're making sure mode() first calls iter() on its input.
+ # The concern is that a Counter of a Counter returns the original
+ # unchanged rather than counting its keys.
+ c = collections.Counter(a=1, b=2)
+ # If iter() is called, mode(c) loops over the keys, ['a', 'b'],
+ # all the counts will be 1, and the first encountered mode is 'a'.
+ self.assertEqual(self.func(c), 'a')
class TestMultiMode(unittest.TestCase):
More information about the Python-checkins
mailing list