mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Merged revisions 81728 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r81728 | michael.foord | 2010-06-05 12:23:51 +0100 (Sat, 05 Jun 2010) | 1 line Issue 8351. Suppress large diffs in unittest.TestCase.assertSequenceEqual. ........
This commit is contained in:
parent
4107d31db6
commit
2034d9a996
2 changed files with 29 additions and 3 deletions
|
@ -1,3 +1,5 @@
|
|||
import difflib
|
||||
import pprint
|
||||
import re
|
||||
import sys
|
||||
|
||||
|
@ -589,6 +591,23 @@ class Test_TestCase(unittest.TestCase, TestEquality, TestHashing):
|
|||
self.assertRaises(self.failureException, self.assertDictEqual, [], d)
|
||||
self.assertRaises(self.failureException, self.assertDictEqual, 1, 1)
|
||||
|
||||
def testAssertSequenceEqualMaxDiff(self):
|
||||
seq1 = 'a' + 'x' * 80**2
|
||||
seq2 = 'b' + 'x' * 80**2
|
||||
diff = '\n'.join(difflib.ndiff(pprint.pformat(seq1).splitlines(),
|
||||
pprint.pformat(seq2).splitlines()))
|
||||
try:
|
||||
self.assertSequenceEqual(seq1, seq2, max_diff=len(diff)/2)
|
||||
except AssertionError as e:
|
||||
msg = e.args[0]
|
||||
self.assertTrue(len(msg) < len(diff))
|
||||
|
||||
try:
|
||||
self.assertSequenceEqual(seq1, seq2, max_diff=len(diff)*2)
|
||||
except AssertionError as e:
|
||||
msg = e.args[0]
|
||||
self.assertTrue(len(msg) > len(diff))
|
||||
|
||||
def testAssertItemsEqual(self):
|
||||
a = object()
|
||||
self.assertItemsEqual([1, 2, 3], [3, 2, 1])
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue