Convert the pprint test to use PyUnit.

This commit is contained in:
Fred Drake 2001-05-14 17:41:20 +00:00
parent b3384d3555
commit 43913dd27c
1 changed files with 49 additions and 27 deletions

View File

@ -1,36 +1,58 @@
from test_support import verify
import pprint
import unittest
# Verify that .isrecursive() and .isreadable() work.
import test_support
a = range(100)
b = range(200)
a[-12] = b
for safe in 2, 2.0, 2j, "abc", [3], (2,2), {3: 3}, u"yaddayadda", a, b:
verify(pprint.isrecursive(safe) == 0, "expected isrecursive == 0")
verify(pprint.isreadable(safe) == 1, "expected isreadable == 1")
class QueryTestCase(unittest.TestCase):
# Tie a knot.
b[67] = a
# Messy dict.
d = {}
d[0] = d[1] = d[2] = d
def setUp(self):
self.a = range(100)
self.b = range(200)
self.a[-12] = self.b
for icky in a, b, d, (d, d):
verify(pprint.isrecursive(icky) == 1, "expected isrecursive == 1")
verify(pprint.isreadable(icky) == 0, "expected isreadable == 0")
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",
self.a, self.b):
verify(not pprint.isrecursive(safe),
"expected not isrecursive for " + `safe`)
verify(pprint.isreadable(safe),
"expected isreadable for " + `safe`)
# Break the cycles.
d.clear()
del a[:]
del b[:]
def test_knotted(self):
# Tie a knot.
self.b[67] = self.a
# Messy dict.
self.d = {}
self.d[0] = self.d[1] = self.d[2] = self.d
for safe in a, b, d, (d, d):
verify(pprint.isrecursive(safe) == 0, "expected isrecursive == 0")
verify(pprint.isreadable(safe) == 1, "expected isreadable == 1")
verify = self.assert_
# Not recursive but not readable anyway.
for unreadable in type(3), pprint, pprint.isrecursive:
verify(pprint.isrecursive(unreadable) == 0, "expected isrecursive == 0")
verify(pprint.isreadable(unreadable) ==0, "expected isreadable == 0")
for icky in self.a, self.b, self.d, (self.d, self.d):
verify(pprint.isrecursive(icky), "expected isrecursive")
verify(not pprint.isreadable(icky), "expected not isreadable")
# Break the cycles.
self.d.clear()
del self.a[:]
del self.b[:]
for safe in self.a, self.b, self.d, (self.d, self.d):
verify(not pprint.isrecursive(safe),
"expected not isrecursive for " + `safe`)
verify(pprint.isreadable(safe),
"expected isreadable for " + `safe`)
def test_unreadable(self):
"""Not recursive but not readable anyway."""
verify = self.assert_
for unreadable in type(3), pprint, pprint.isrecursive:
verify(not pprint.isrecursive(unreadable),
"expected not isrecursive for " + `unreadable`)
verify(not pprint.isreadable(unreadable),
"expected not isreadable for " + `unreadable`)
test_support.run_unittest(QueryTestCase)