mirror of https://github.com/python/cpython
bpo-45852: Fix the Counter/iter test for statistics.mode() (GH-29667)
Suggested by Stefan Pochmann.
This commit is contained in:
parent
ee49484c0f
commit
48744db70e
|
@ -1900,10 +1900,13 @@ class TestMode(NumericTestCase, AverageMixin, UnivariateTypeMixin):
|
|||
|
||||
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):
|
||||
|
|
Loading…
Reference in New Issue