[Python-checkins] CVS: python/dist/src/Lib/test test_pprint.py,1.2,1.3
Tim Peters
tim_one@users.sourceforge.net
Mon, 14 May 2001 11:39:43 -0700
Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv1384/python/dist/src/Lib/test
Modified Files:
test_pprint.py
Log Message:
pprint's workhorse _safe_repr() function took time quadratic in the # of
elements when crunching a list, dict or tuple. Now takes linear time
instead -- huge speedup for even moderately large containers, and the
code is notably simpler too.
Added some basic "is the output correct?" tests to test_pprint.
Index: test_pprint.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_pprint.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** test_pprint.py 2001/05/14 17:41:20 1.2
--- test_pprint.py 2001/05/14 18:39:41 1.3
***************
*** 13,17 ****
def test_basic(self):
! # Verify that .isrecursive() and .isreadable() work.
verify = self.assert_
for safe in (2, 2.0, 2j, "abc", [3], (2,2), {3: 3}, u"yaddayadda",
--- 13,17 ----
def test_basic(self):
! # Verify that .isrecursive() and .isreadable() work w/o recursion.
verify = self.assert_
for safe in (2, 2.0, 2j, "abc", [3], (2,2), {3: 3}, u"yaddayadda",
***************
*** 23,26 ****
--- 23,27 ----
def test_knotted(self):
+ # Verify that .isrecursive() and .isreadable() work w/ recursion.
# Tie a knot.
self.b[67] = self.a
***************
*** 55,58 ****
--- 56,74 ----
"expected not isreadable for " + `unreadable`)
+ def test_same_as_repr(self):
+ "Simple objects and small containers that should be same as repr()."
+ verify = self.assert_
+ for simple in (0, 0L, 0+0j, 0.0, "", u"", (), [], {}, verify, pprint,
+ -6, -6L, -6-6j, -1.5, "x", u"x", (3,), [3], {3: 6},
+ (1,2), [3,4], {5: 6, 7: 8},
+ {"xy\tab\n": (3,), 5: [[]], (): {}},
+ range(10, -11, -1)
+ ):
+ native = repr(simple)
+ for function in "pformat", "saferepr":
+ f = getattr(pprint, function)
+ got = f(simple)
+ verify(native == got, "expected %s got %s from pprint.%s" %
+ (native, got, function))
test_support.run_unittest(QueryTestCase)