Message226193
The notes on assertItemsEqual do not make it clear that the comparison works by using their hash value, and not their __eq__ implementation - i.e. it does an 'is' not an '==' between objects in the sequence.
If the sequences being compared contain user created objects which don't implement their own specific __hash__ method (and therefore inherit their __hash__ from the base object - based on the object id), then the assertion will ALWAYS be false, regardless of their __eq__ value.
This only became clear when trying to use unitest, getting strange results, and I eventually read the code. |
|
Date |
User |
Action |
Args |
2014-08-31 21:55:54 | TonyFlury | set | recipients:
+ TonyFlury, docs@python |
2014-08-31 21:55:54 | TonyFlury | set | messageid: <1409522154.37.0.82658213186.issue22318@psf.upfronthosting.co.za> |
2014-08-31 21:55:54 | TonyFlury | link | issue22318 messages |
2014-08-31 21:55:54 | TonyFlury | create | |
|