[Python-Dev] r87389 - in python/branches/py3k: Doc/library/unittest.rst Lib/unittest/case.py Misc/NEWS

Raymond Hettinger raymond.hettinger at gmail.com
Sun Dec 19 20:55:55 CET 2010


On Dec 19, 2010, at 10:41 AM, Guido van Rossum wrote:

> On Sun, Dec 19, 2010 at 5:13 AM, Antoine Pitrou <solipsis at pitrou.net> wrote:
>> On Sat, 18 Dec 2010 20:23:49 -0800
>> Guido van Rossum <guido at python.org> wrote:
>>> I may be unique, but I fear there is no great answer. On the one hand
>>> I almost always code it as e.g. assertEqual(actual, expected), which
>>> matches my preference for e.g. "if x == 5:" rather than "if 5 == x:".
>>> On the other hand in those assert* functions that show a nice diff of
>>> two lists, when reading such a diff my expectation is that "old, new"
>>> corresponds to "expected, actual". Which then freaks me out until I
>>> realize that I coded it as "actual, expected"... And yet "expected,
>>> actual" still looks weird to me. :-(
>> 
>> This could be nicely resolved by renaming the arguments "a" and "b",
>> and having the diff display "a, b". It's quite natural (both the diff
>> ordering and the arguments ordering), and they are consistent with each
>> other.
> 
> So 'a' stands for 'after' and 'b' for 'before', right? :-)

If you go down the a / b path instead of actual/expected,
the diffs are straight-forward but some of the other
output styles needed to be changed also (replace the
messages for "unexpected" and "missing" elements to
"things in a but not in b" and "things in b but not in a".


Raymond



More information about the Python-Dev mailing list