Kaydet (Commit) 5ea7e310 authored tarafından Raymond Hettinger's avatar Raymond Hettinger

Improve test coverage.

üst f751fa61
...@@ -29,14 +29,6 @@ class CommonTest(seq_tests.CommonTest): ...@@ -29,14 +29,6 @@ class CommonTest(seq_tests.CommonTest):
self.assertNotEqual(id(a), id(b)) self.assertNotEqual(id(a), id(b))
self.assertEqual(a, b) self.assertEqual(a, b)
def test_mul(self):
for m in xrange(4):
s = tuple(range(m))
for n in xrange(-3, 5):
self.assertEqual(self.type2test(s*n), self.type2test(s)*n)
self.assertEqual(self.type2test(s)*(-4), self.type2test([]))
self.assertEqual(id(s), id(s*1))
def test_repr(self): def test_repr(self):
l0 = [] l0 = []
l2 = [0, 1, 2] l2 = [0, 1, 2]
...@@ -70,31 +62,6 @@ class CommonTest(seq_tests.CommonTest): ...@@ -70,31 +62,6 @@ class CommonTest(seq_tests.CommonTest):
fo.close() fo.close()
os.remove(test_support.TESTFN) os.remove(test_support.TESTFN)
def test_getitem(self):
a = self.type2test([10, 11])
self.assertEqual(a[0], 10)
self.assertEqual(a[1], 11)
self.assertEqual(a[-2], 10)
self.assertEqual(a[-1], 11)
self.assertRaises(IndexError, a.__getitem__, -3)
self.assertRaises(IndexError, a.__getitem__, 3)
def test_subscript(self):
a = self.type2test([10, 11])
self.assertEqual(a.__getitem__(0L), 10)
self.assertEqual(a.__getitem__(1L), 11)
self.assertEqual(a.__getitem__(-2L), 10)
self.assertEqual(a.__getitem__(-1L), 11)
self.assertRaises(IndexError, a.__getitem__, -3)
self.assertRaises(IndexError, a.__getitem__, 3)
self.assertEqual(a.__getitem__(slice(0,1)), self.type2test([10]))
self.assertEqual(a.__getitem__(slice(1,2)), self.type2test([11]))
self.assertEqual(a.__getitem__(slice(0,2)), self.type2test([10, 11]))
self.assertEqual(a.__getitem__(slice(0,3)), self.type2test([10, 11]))
self.assertEqual(a.__getitem__(slice(3,5)), self.type2test([]))
self.assertRaises(ValueError, a.__getitem__, slice(0, 10, 0))
self.assertRaises(TypeError, a.__getitem__, 'x')
def test_set_subscript(self): def test_set_subscript(self):
a = self.type2test(range(20)) a = self.type2test(range(20))
self.assertRaises(ValueError, a.__setitem__, slice(0, 10, 0), [1,2,3]) self.assertRaises(ValueError, a.__setitem__, slice(0, 10, 0), [1,2,3])
......
...@@ -48,10 +48,13 @@ class CommonTest(unittest.TestCase): ...@@ -48,10 +48,13 @@ class CommonTest(unittest.TestCase):
u = self.type2test([0, 1, 2, 3, 4]) u = self.type2test([0, 1, 2, 3, 4])
for i in xrange(len(u)): for i in xrange(len(u)):
self.assertEqual(u[i], i) self.assertEqual(u[i], i)
self.assertEqual(u[long(i)], i)
for i in xrange(-len(u), -1): for i in xrange(-len(u), -1):
self.assertEqual(u[i], len(u)+i) self.assertEqual(u[i], len(u)+i)
self.assertEqual(u[long(i)], len(u)+i)
self.assertRaises(IndexError, u.__getitem__, -len(u)-1) self.assertRaises(IndexError, u.__getitem__, -len(u)-1)
self.assertRaises(IndexError, u.__getitem__, len(u)) self.assertRaises(IndexError, u.__getitem__, len(u))
self.assertRaises(ValueError, u.__getitem__, slice(0,10,0))
u = self.type2test() u = self.type2test()
self.assertRaises(IndexError, u.__getitem__, 0) self.assertRaises(IndexError, u.__getitem__, 0)
...@@ -59,6 +62,14 @@ class CommonTest(unittest.TestCase): ...@@ -59,6 +62,14 @@ class CommonTest(unittest.TestCase):
self.assertRaises(TypeError, u.__getitem__) self.assertRaises(TypeError, u.__getitem__)
a = self.type2test([10, 11])
self.assertEqual(a[0], 10)
self.assertEqual(a[1], 11)
self.assertEqual(a[-2], 10)
self.assertEqual(a[-1], 11)
self.assertRaises(IndexError, a.__getitem__, -3)
self.assertRaises(IndexError, a.__getitem__, 3)
def test_getslice(self): def test_getslice(self):
l = [0, 1, 2, 3, 4] l = [0, 1, 2, 3, 4]
u = self.type2test(l) u = self.type2test(l)
...@@ -169,3 +180,27 @@ class CommonTest(unittest.TestCase): ...@@ -169,3 +180,27 @@ class CommonTest(unittest.TestCase):
def __getitem__(self, key): def __getitem__(self, key):
return str(key) + '!!!' return str(key) + '!!!'
self.assertEqual(iter(T((1,2))).next(), 1) self.assertEqual(iter(T((1,2))).next(), 1)
def test_repeat(self):
for m in xrange(4):
s = tuple(range(m))
for n in xrange(-3, 5):
self.assertEqual(self.type2test(s*n), self.type2test(s)*n)
self.assertEqual(self.type2test(s)*(-4), self.type2test([]))
self.assertEqual(id(s), id(s*1))
def test_subscript(self):
a = self.type2test([10, 11])
self.assertEqual(a.__getitem__(0L), 10)
self.assertEqual(a.__getitem__(1L), 11)
self.assertEqual(a.__getitem__(-2L), 10)
self.assertEqual(a.__getitem__(-1L), 11)
self.assertRaises(IndexError, a.__getitem__, -3)
self.assertRaises(IndexError, a.__getitem__, 3)
self.assertEqual(a.__getitem__(slice(0,1)), self.type2test([10]))
self.assertEqual(a.__getitem__(slice(1,2)), self.type2test([11]))
self.assertEqual(a.__getitem__(slice(0,2)), self.type2test([10, 11]))
self.assertEqual(a.__getitem__(slice(0,3)), self.type2test([10, 11]))
self.assertEqual(a.__getitem__(slice(3,5)), self.type2test([]))
self.assertRaises(ValueError, a.__getitem__, slice(0, 10, 0))
self.assertRaises(TypeError, a.__getitem__, 'x')
...@@ -229,6 +229,9 @@ class BuiltinTest(unittest.TestCase): ...@@ -229,6 +229,9 @@ class BuiltinTest(unittest.TestCase):
self.assertEqual(divmod(12L, -7), (-2L, -2)) self.assertEqual(divmod(12L, -7), (-2L, -2))
self.assertEqual(divmod(-12L, -7), (1L, -5)) self.assertEqual(divmod(-12L, -7), (1L, -5))
self.assertEqual(divmod(-sys.maxint-1, -1),
(sys.maxint+1, 0))
self.assert_(not fcmp(divmod(3.25, 1.0), (3.0, 0.25))) self.assert_(not fcmp(divmod(3.25, 1.0), (3.0, 0.25)))
self.assert_(not fcmp(divmod(-3.25, 1.0), (-4.0, 0.75))) self.assert_(not fcmp(divmod(-3.25, 1.0), (-4.0, 0.75)))
self.assert_(not fcmp(divmod(3.25, -1.0), (-4.0, -0.75))) self.assert_(not fcmp(divmod(3.25, -1.0), (-4.0, -0.75)))
......
...@@ -121,7 +121,6 @@ Verify re-use of tuples (a side benefit of using genexps over listcomps) ...@@ -121,7 +121,6 @@ Verify re-use of tuples (a side benefit of using genexps over listcomps)
0 0
########### Tests borrowed from or inspired by test_generators.py ############ ########### Tests borrowed from or inspired by test_generators.py ############
Make a generator that acts like range() Make a generator that acts like range()
......
...@@ -65,6 +65,17 @@ class TupleTest(seq_tests.CommonTest): ...@@ -65,6 +65,17 @@ class TupleTest(seq_tests.CommonTest):
collisions = len(inps) - len(set(map(hash, inps))) collisions = len(inps) - len(set(map(hash, inps)))
self.assert_(collisions <= 15) self.assert_(collisions <= 15)
def test_repr(self):
l0 = tuple()
l2 = (0, 1, 2)
a0 = self.type2test(l0)
a2 = self.type2test(l2)
self.assertEqual(str(a0), repr(l0))
self.assertEqual(str(a2), repr(l2))
self.assertEqual(repr(a0), "()")
self.assertEqual(repr(a2), "(0, 1, 2)")
def test_main(): def test_main():
test_support.run_unittest(TupleTest) test_support.run_unittest(TupleTest)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment