From: Raymond Hettinger Date: Thu, 23 Dec 2010 21:54:02 +0000 (+0000) Subject: Fix buglet. If the input was an iterator, the fallback would occur after X-Git-Tag: v3.2rc1~365 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d65a901aed0867c66fd4951e5144f5b5315b5de0;p=python Fix buglet. If the input was an iterator, the fallback would occur after part of the iterator had been consumed. Also, fix argument names which did not match the docs and were a bit misleading. --- diff --git a/Lib/unittest/case.py b/Lib/unittest/case.py index 15c7eee8e2..68e53a5953 100644 --- a/Lib/unittest/case.py +++ b/Lib/unittest/case.py @@ -1003,27 +1003,26 @@ class TestCase(object): self.fail(self._formatMessage(msg, standardMsg)) - def assertCountEqual(self, actual_seq, expected_seq, msg=None): + def assertCountEqual(self, actual, expected, msg=None): """An unordered sequence specific comparison. It asserts that actual_seq and expected_seq have the same element counts. Equivalent to:: - self.assertEqual(Counter(iter(actual_seq)), - Counter(iter(expected_seq))) + self.assertEqual(Counter(actual_seq), + Counter(expected_seq)) Asserts that each element has the same count in both sequences. Example: - [0, 1, 1] and [1, 0, 1] compare equal. - [0, 0, 1] and [0, 1] compare unequal. """ + actual_seq, expected_seq = list(actual), list(expected) try: - actual = collections.Counter(iter(actual_seq)) - expected = collections.Counter(iter(expected_seq)) + actual = collections.Counter(actual_seq) + expected = collections.Counter(expected_seq) except TypeError: # Unsortable items (example: set(), complex(), ...) - actual = list(actual_seq) - expected = list(expected_seq) - missing, unexpected = unorderable_list_difference(expected, actual) + missing, unexpected = unorderable_list_difference(expected_seq, actual_seq) else: if actual == expected: return