Raymond Hettinger <[email protected]> added the comment:
Suggestions:
* new name: assertCountEqual(a, b)
or: assertElementCountEqual(a, b)
this name captures the essential service:
- unordered comparison where duplicates matter
- inputs are "elements",
not "items" which means key/value pairs
* O(n) implementation with O(n**2) fallback:
try:
a_cnt = collections.Counter(a)
b_cnt = collections.Counter(b)
except TypeError:
# do current O(n**2) fallback
else:
if a_cnt == b_cnt:
# test passed
else:
in_a_but_not_in_b = a - b
in_b_but_not_in_a = b - a
# display nice diff
* documentation should emphasize the new name:
assertElementCountEqual(a, b)
obsolete alias: assertItemsEqual(a, b)
----------
assignee: rhettinger -> michael.foord
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue10242>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com