Message120352
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) |
|
Date |
User |
Action |
Args |
2010-11-03 23:06:48 | rhettinger | set | recipients:
+ rhettinger, ezio.melotti, michael.foord |
2010-11-03 23:06:48 | rhettinger | set | messageid: <1288825608.51.0.870131650343.issue10242@psf.upfronthosting.co.za> |
2010-11-03 23:06:47 | rhettinger | link | issue10242 messages |
2010-11-03 23:06:46 | rhettinger | create | |
|