[Python-checkins] python/dist/src/Lib/test list_tests.py, 1.1,
1.2 seq_tests.py, 1.1, 1.2 test_list.py, 1.1,
1.2 test_tuple.py, 1.1, 1.2 test_userlist.py, 1.11, 1.12
tim_one at users.sourceforge.net
tim_one at users.sourceforge.net
Sun Jan 18 16:03:25 EST 2004
Update of /cvsroot/python/python/dist/src/Lib/test
In directory sc8-pr-cvs1:/tmp/cvs-serv24882
Modified Files:
list_tests.py seq_tests.py test_list.py test_tuple.py
test_userlist.py
Log Message:
For whatever reason, these files had \r\r\n line endings on Windows,
meaning they must have been checked in to CVS from a Linuxish box with
Windowish \r\n line endings to begin with.
Index: list_tests.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/list_tests.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** list_tests.py 8 Dec 2003 11:38:45 -0000 1.1
--- list_tests.py 18 Jan 2004 21:03:23 -0000 1.2
***************
*** 1,418 ****
! """
! Tests common to list and UserList.UserList
! """
!
! import sys
!
! import unittest
! from test import test_support, seq_tests
!
! class CommonTest(seq_tests.CommonTest):
!
! def test_repr(self):
! l0 = []
! l2 = [0, 1, 2]
! a0 = self.type2test(l0)
! a2 = self.type2test(l2)
!
! self.assertEqual(str(a0), str(l0))
! self.assertEqual(repr(a0), repr(l0))
! self.assertEqual(`a2`, `l2`)
! self.assertEqual(str(a2), "[0, 1, 2]")
! self.assertEqual(repr(a2), "[0, 1, 2]")
!
! def test_setitem(self):
! a = self.type2test([0, 1])
! a[0] = 0
! a[1] = 100
! self.assertEqual(a, self.type2test([0, 100]))
! a[-1] = 200
! self.assertEqual(a, self.type2test([0, 200]))
! a[-2] = 100
! self.assertEqual(a, self.type2test([100, 200]))
! self.assertRaises(IndexError, a.__setitem__, -3, 200)
! self.assertRaises(IndexError, a.__setitem__, 2, 200)
!
! a = self.type2test([])
! self.assertRaises(IndexError, a.__setitem__, 0, 200)
! self.assertRaises(IndexError, a.__setitem__, -1, 200)
!
! self.assertRaises(TypeError, a.__setitem__)
!
! a = self.type2test([0,1,2,3,4])
! a[0L] = 1
! a[1L] = 2
! a[2L] = 3
! self.assertEqual(a, self.type2test([1,2,3,3,4]))
! a[0] = 5
! a[1] = 6
! a[2] = 7
! self.assertEqual(a, self.type2test([5,6,7,3,4]))
! a[-2L] = 88
! a[-1L] = 99
! self.assertEqual(a, self.type2test([5,6,7,88,99]))
! a[-2] = 8
! a[-1] = 9
! self.assertEqual(a, self.type2test([5,6,7,8,9]))
!
! def test_delitem(self):
! a = self.type2test([0, 1])
! del a[1]
! self.assertEqual(a, [0])
! del a[0]
! self.assertEqual(a, [])
!
! a = self.type2test([0, 1])
! del a[-2]
! self.assertEqual(a, [1])
! del a[-1]
! self.assertEqual(a, [])
!
! a = self.type2test([0, 1])
! self.assertRaises(IndexError, a.__delitem__, -3)
! self.assertRaises(IndexError, a.__delitem__, 2)
!
! a = self.type2test([])
! self.assertRaises(IndexError, a.__delitem__, 0)
!
! self.assertRaises(TypeError, a.__delitem__)
!
! def test_setslice(self):
! l = [0, 1]
! a = self.type2test(l)
!
! for i in range(-3, 4):
! a[:i] = l[:i]
! self.assertEqual(a, l)
! a2 = a[:]
! a2[:i] = a[:i]
! self.assertEqual(a2, a)
! a[i:] = l[i:]
! self.assertEqual(a, l)
! a2 = a[:]
! a2[i:] = a[i:]
! self.assertEqual(a2, a)
! for j in range(-3, 4):
! a[i:j] = l[i:j]
! self.assertEqual(a, l)
! a2 = a[:]
! a2[i:j] = a[i:j]
! self.assertEqual(a2, a)
!
! aa2 = a2[:]
! aa2[:0] = [-2, -1]
! self.assertEqual(aa2, [-2, -1, 0, 1])
! aa2[0:] = []
! self.assertEqual(aa2, [])
!
! a = self.type2test([1, 2, 3, 4, 5])
! a[:-1] = a
! self.assertEqual(a, self.type2test([1, 2, 3, 4, 5, 5]))
! a = self.type2test([1, 2, 3, 4, 5])
! a[1:] = a
! self.assertEqual(a, self.type2test([1, 1, 2, 3, 4, 5]))
! a = self.type2test([1, 2, 3, 4, 5])
! a[1:-1] = a
! self.assertEqual(a, self.type2test([1, 1, 2, 3, 4, 5, 5]))
!
! a = self.type2test([])
! a[:] = tuple(range(10))
! self.assertEqual(a, self.type2test(range(10)))
!
! self.assertRaises(TypeError, a.__setslice__, 0, 1, 5)
!
! self.assertRaises(TypeError, a.__setslice__)
!
! def test_delslice(self):
! a = self.type2test([0, 1])
! del a[1:2]
! del a[0:1]
! self.assertEqual(a, self.type2test([]))
!
! a = self.type2test([0, 1])
! del a[1L:2L]
! del a[0L:1L]
! self.assertEqual(a, self.type2test([]))
!
! a = self.type2test([0, 1])
! del a[-2:-1]
! self.assertEqual(a, self.type2test([1]))
!
! a = self.type2test([0, 1])
! del a[-2L:-1L]
! self.assertEqual(a, self.type2test([1]))
!
! a = self.type2test([0, 1])
! del a[1:]
! del a[:1]
! self.assertEqual(a, self.type2test([]))
!
! a = self.type2test([0, 1])
! del a[1L:]
! del a[:1L]
! self.assertEqual(a, self.type2test([]))
!
! a = self.type2test([0, 1])
! del a[-1:]
! self.assertEqual(a, self.type2test([0]))
!
! a = self.type2test([0, 1])
! del a[-1L:]
! self.assertEqual(a, self.type2test([0]))
!
! a = self.type2test([0, 1])
! del a[:]
! self.assertEqual(a, self.type2test([]))
!
! def test_append(self):
! a = self.type2test([])
! a.append(0)
! a.append(1)
! a.append(2)
! self.assertEqual(a, self.type2test([0, 1, 2]))
!
! self.assertRaises(TypeError, a.append)
!
! def test_extend(self):
! a1 = self.type2test([0])
! a2 = self.type2test((0, 1))
! a = a1[:]
! a.extend(a2)
! self.assertEqual(a, a1 + a2)
!
! a.extend(self.type2test([]))
! self.assertEqual(a, a1 + a2)
!
! a.extend(a)
! self.assertEqual(a, self.type2test([0, 0, 1, 0, 0, 1]))
!
! a = self.type2test("spam")
! a.extend("eggs")
! self.assertEqual(a, list("spameggs"))
!
! self.assertRaises(TypeError, a.extend, None)
!
! self.assertRaises(TypeError, a.extend)
!
! def test_insert(self):
! a = self.type2test([0, 1, 2])
! a.insert(0, -2)
! a.insert(1, -1)
! a.insert(2, 0)
! self.assertEqual(a, [-2, -1, 0, 0, 1, 2])
!
! b = a[:]
! b.insert(-2, "foo")
! b.insert(-200, "left")
! b.insert(200, "right")
! self.assertEqual(b, self.type2test(["left",-2,-1,0,0,"foo",1,2,"right"]))
!
! self.assertRaises(TypeError, a.insert)
!
! def test_pop(self):
! a = self.type2test([-1, 0, 1])
! a.pop()
! self.assertEqual(a, [-1, 0])
! a.pop(0)
! self.assertEqual(a, [0])
! self.assertRaises(IndexError, a.pop, 5)
! a.pop(0)
! self.assertEqual(a, [])
! self.assertRaises(IndexError, a.pop)
!
! self.assertRaises(TypeError, a.pop, 42, 42)
!
! def test_remove(self):
! a = self.type2test([0, 0, 1])
! a.remove(1)
! self.assertEqual(a, [0, 0])
! a.remove(0)
! self.assertEqual(a, [0])
! a.remove(0)
! self.assertEqual(a, [])
!
! self.assertRaises(ValueError, a.remove, 0)
!
! self.assertRaises(TypeError, a.remove)
!
! class BadExc(Exception):
! pass
!
! class BadCmp:
! def __eq__(self, other):
! if other == 2:
! raise BadExc()
! return False
!
! a = self.type2test([0, 1, 2, 3])
! self.assertRaises(BadExc, a.remove, BadCmp())
!
! def test_count(self):
! a = self.type2test([0, 1, 2])*3
! self.assertEqual(a.count(0), 3)
! self.assertEqual(a.count(1), 3)
! self.assertEqual(a.count(3), 0)
!
! self.assertRaises(TypeError, a.count)
!
! class BadExc(Exception):
! pass
!
! class BadCmp:
! def __eq__(self, other):
! if other == 2:
! raise BadExc()
! return False
!
! self.assertRaises(BadExc, a.count, BadCmp())
!
! def test_index(self):
! u = self.type2test([0, 1])
! self.assertEqual(u.index(0), 0)
! self.assertEqual(u.index(1), 1)
! self.assertRaises(ValueError, u.index, 2)
!
! u = self.type2test([-2, -1, 0, 0, 1, 2])
! self.assertEqual(u.count(0), 2)
! self.assertEqual(u.index(0), 2)
! self.assertEqual(u.index(0, 2), 2)
! self.assertEqual(u.index(-2, -10), 0)
! self.assertEqual(u.index(0, 3), 3)
! self.assertEqual(u.index(0, 3, 4), 3)
! self.assertRaises(ValueError, u.index, 2, 0, -10)
!
! self.assertRaises(TypeError, u.index)
!
! class BadExc(Exception):
! pass
!
! class BadCmp:
! def __eq__(self, other):
! if other == 2:
! raise BadExc()
! return False
!
! a = self.type2test([0, 1, 2, 3])
! self.assertRaises(BadExc, a.index, BadCmp())
!
! a = self.type2test([-2, -1, 0, 0, 1, 2])
! self.assertEqual(a.index(0), 2)
! self.assertEqual(a.index(0, 2), 2)
! self.assertEqual(a.index(0, -4), 2)
! self.assertEqual(a.index(-2, -10), 0)
! self.assertEqual(a.index(0, 3), 3)
! self.assertEqual(a.index(0, -3), 3)
! self.assertEqual(a.index(0, 3, 4), 3)
! self.assertEqual(a.index(0, -3, -2), 3)
! self.assertEqual(a.index(0, -4*sys.maxint, 4*sys.maxint), 2)
! self.assertRaises(ValueError, a.index, 0, 4*sys.maxint,-4*sys.maxint)
! self.assertRaises(ValueError, a.index, 2, 0, -10)
! a.remove(0)
! self.assertRaises(ValueError, a.index, 2, 0, 4)
! self.assertEqual(a, self.type2test([-2, -1, 0, 1, 2]))
!
! def test_reverse(self):
! u = self.type2test([-2, -1, 0, 1, 2])
! u2 = u[:]
! u.reverse()
! self.assertEqual(u, [2, 1, 0, -1, -2])
! u.reverse()
! self.assertEqual(u, u2)
!
! self.assertRaises(TypeError, u.reverse, 42)
!
! def test_sort(self):
! u = self.type2test([1, 0])
! u.sort()
! self.assertEqual(u, [0, 1])
!
! u = self.type2test([2,1,0,-1,-2])
! u.sort()
! self.assertEqual(u, self.type2test([-2,-1,0,1,2]))
!
! self.assertRaises(TypeError, u.sort, 42, 42)
!
! def revcmp(a, b):
! return cmp(b, a)
! u.sort(revcmp)
! self.assertEqual(u, self.type2test([2,1,0,-1,-2]))
!
! # The following dumps core in unpatched Python 1.5:
! def myComparison(x,y):
! return cmp(x%3, y%7)
! z = self.type2test(range(12))
! z.sort(myComparison)
!
! self.assertRaises(TypeError, z.sort, 2)
!
! def selfmodifyingComparison(x,y):
! z.append(1)
! return cmp(x, y)
! self.assertRaises(ValueError, z.sort, selfmodifyingComparison)
!
! self.assertRaises(TypeError, z.sort, lambda x, y: 's')
!
! self.assertRaises(TypeError, z.sort, 42, 42, 42, 42)
!
! def test_slice(self):
! u = self.type2test("spam")
! u[:2] = "h"
! self.assertEqual(u, list("ham"))
!
! def test_iadd(self):
! super(CommonTest, self).test_iadd()
! u = self.type2test([0, 1])
! u2 = u
! u += [2, 3]
! self.assert_(u is u2)
!
! u = self.type2test("spam")
! u += "eggs"
! self.assertEqual(u, self.type2test("spameggs"))
!
! self.assertRaises(TypeError, u.__iadd__, None)
!
! def test_imul(self):
! u = self.type2test([0, 1])
! u *= 3
! self.assertEqual(u, self.type2test([0, 1, 0, 1, 0, 1]))
! u *= 0
! self.assertEqual(u, self.type2test([]))
!
! def test_extendedslicing(self):
! # subscript
! a = self.type2test([0,1,2,3,4])
!
! # deletion
! del a[::2]
! self.assertEqual(a, self.type2test([1,3]))
! a = self.type2test(range(5))
! del a[1::2]
! self.assertEqual(a, self.type2test([0,2,4]))
! a = self.type2test(range(5))
! del a[1::-2]
! self.assertEqual(a, self.type2test([0,2,3,4]))
! a = self.type2test(range(10))
! del a[::1000]
! self.assertEqual(a, self.type2test([1, 2, 3, 4, 5, 6, 7, 8, 9]))
! # assignment
! a = self.type2test(range(10))
! a[::2] = [-1]*5
! self.assertEqual(a, self.type2test([-1, 1, -1, 3, -1, 5, -1, 7, -1, 9]))
! a = self.type2test(range(10))
! a[::-4] = [10]*3
! self.assertEqual(a, self.type2test([0, 10, 2, 3, 4, 10, 6, 7, 8 ,10]))
! a = self.type2test(range(4))
! a[::-1] = a
! self.assertEqual(a, self.type2test([3, 2, 1, 0]))
! a = self.type2test(range(10))
! b = a[:]
! c = a[:]
! a[2:3] = self.type2test(["two", "elements"])
! b[slice(2,3)] = self.type2test(["two", "elements"])
! c[2:3:] = self.type2test(["two", "elements"])
! self.assertEqual(a, b)
! self.assertEqual(a, c)
! a = self.type2test(range(10))
! a[::2] = tuple(range(5))
! self.assertEqual(a, self.type2test([0, 1, 1, 3, 2, 5, 3, 7, 4, 9]))
--- 1,418 ----
! """
! Tests common to list and UserList.UserList
! """
!
! import sys
!
! import unittest
! from test import test_support, seq_tests
!
! class CommonTest(seq_tests.CommonTest):
!
! def test_repr(self):
! l0 = []
! l2 = [0, 1, 2]
! a0 = self.type2test(l0)
! a2 = self.type2test(l2)
!
! self.assertEqual(str(a0), str(l0))
! self.assertEqual(repr(a0), repr(l0))
! self.assertEqual(`a2`, `l2`)
! self.assertEqual(str(a2), "[0, 1, 2]")
! self.assertEqual(repr(a2), "[0, 1, 2]")
!
! def test_setitem(self):
! a = self.type2test([0, 1])
! a[0] = 0
! a[1] = 100
! self.assertEqual(a, self.type2test([0, 100]))
! a[-1] = 200
! self.assertEqual(a, self.type2test([0, 200]))
! a[-2] = 100
! self.assertEqual(a, self.type2test([100, 200]))
! self.assertRaises(IndexError, a.__setitem__, -3, 200)
! self.assertRaises(IndexError, a.__setitem__, 2, 200)
!
! a = self.type2test([])
! self.assertRaises(IndexError, a.__setitem__, 0, 200)
! self.assertRaises(IndexError, a.__setitem__, -1, 200)
!
! self.assertRaises(TypeError, a.__setitem__)
!
! a = self.type2test([0,1,2,3,4])
! a[0L] = 1
! a[1L] = 2
! a[2L] = 3
! self.assertEqual(a, self.type2test([1,2,3,3,4]))
! a[0] = 5
! a[1] = 6
! a[2] = 7
! self.assertEqual(a, self.type2test([5,6,7,3,4]))
! a[-2L] = 88
! a[-1L] = 99
! self.assertEqual(a, self.type2test([5,6,7,88,99]))
! a[-2] = 8
! a[-1] = 9
! self.assertEqual(a, self.type2test([5,6,7,8,9]))
!
! def test_delitem(self):
! a = self.type2test([0, 1])
! del a[1]
! self.assertEqual(a, [0])
! del a[0]
! self.assertEqual(a, [])
!
! a = self.type2test([0, 1])
! del a[-2]
! self.assertEqual(a, [1])
! del a[-1]
! self.assertEqual(a, [])
!
! a = self.type2test([0, 1])
! self.assertRaises(IndexError, a.__delitem__, -3)
! self.assertRaises(IndexError, a.__delitem__, 2)
!
! a = self.type2test([])
! self.assertRaises(IndexError, a.__delitem__, 0)
!
! self.assertRaises(TypeError, a.__delitem__)
!
! def test_setslice(self):
! l = [0, 1]
! a = self.type2test(l)
!
! for i in range(-3, 4):
! a[:i] = l[:i]
! self.assertEqual(a, l)
! a2 = a[:]
! a2[:i] = a[:i]
! self.assertEqual(a2, a)
! a[i:] = l[i:]
! self.assertEqual(a, l)
! a2 = a[:]
! a2[i:] = a[i:]
! self.assertEqual(a2, a)
! for j in range(-3, 4):
! a[i:j] = l[i:j]
! self.assertEqual(a, l)
! a2 = a[:]
! a2[i:j] = a[i:j]
! self.assertEqual(a2, a)
!
! aa2 = a2[:]
! aa2[:0] = [-2, -1]
! self.assertEqual(aa2, [-2, -1, 0, 1])
! aa2[0:] = []
! self.assertEqual(aa2, [])
!
! a = self.type2test([1, 2, 3, 4, 5])
! a[:-1] = a
! self.assertEqual(a, self.type2test([1, 2, 3, 4, 5, 5]))
! a = self.type2test([1, 2, 3, 4, 5])
! a[1:] = a
! self.assertEqual(a, self.type2test([1, 1, 2, 3, 4, 5]))
! a = self.type2test([1, 2, 3, 4, 5])
! a[1:-1] = a
! self.assertEqual(a, self.type2test([1, 1, 2, 3, 4, 5, 5]))
!
! a = self.type2test([])
! a[:] = tuple(range(10))
! self.assertEqual(a, self.type2test(range(10)))
!
! self.assertRaises(TypeError, a.__setslice__, 0, 1, 5)
!
! self.assertRaises(TypeError, a.__setslice__)
!
! def test_delslice(self):
! a = self.type2test([0, 1])
! del a[1:2]
! del a[0:1]
! self.assertEqual(a, self.type2test([]))
!
! a = self.type2test([0, 1])
! del a[1L:2L]
! del a[0L:1L]
! self.assertEqual(a, self.type2test([]))
!
! a = self.type2test([0, 1])
! del a[-2:-1]
! self.assertEqual(a, self.type2test([1]))
!
! a = self.type2test([0, 1])
! del a[-2L:-1L]
! self.assertEqual(a, self.type2test([1]))
!
! a = self.type2test([0, 1])
! del a[1:]
! del a[:1]
! self.assertEqual(a, self.type2test([]))
!
! a = self.type2test([0, 1])
! del a[1L:]
! del a[:1L]
! self.assertEqual(a, self.type2test([]))
!
! a = self.type2test([0, 1])
! del a[-1:]
! self.assertEqual(a, self.type2test([0]))
!
! a = self.type2test([0, 1])
! del a[-1L:]
! self.assertEqual(a, self.type2test([0]))
!
! a = self.type2test([0, 1])
! del a[:]
! self.assertEqual(a, self.type2test([]))
!
! def test_append(self):
! a = self.type2test([])
! a.append(0)
! a.append(1)
! a.append(2)
! self.assertEqual(a, self.type2test([0, 1, 2]))
!
! self.assertRaises(TypeError, a.append)
!
! def test_extend(self):
! a1 = self.type2test([0])
! a2 = self.type2test((0, 1))
! a = a1[:]
! a.extend(a2)
! self.assertEqual(a, a1 + a2)
!
! a.extend(self.type2test([]))
! self.assertEqual(a, a1 + a2)
!
! a.extend(a)
! self.assertEqual(a, self.type2test([0, 0, 1, 0, 0, 1]))
!
! a = self.type2test("spam")
! a.extend("eggs")
! self.assertEqual(a, list("spameggs"))
!
! self.assertRaises(TypeError, a.extend, None)
!
! self.assertRaises(TypeError, a.extend)
!
! def test_insert(self):
! a = self.type2test([0, 1, 2])
! a.insert(0, -2)
! a.insert(1, -1)
! a.insert(2, 0)
! self.assertEqual(a, [-2, -1, 0, 0, 1, 2])
!
! b = a[:]
! b.insert(-2, "foo")
! b.insert(-200, "left")
! b.insert(200, "right")
! self.assertEqual(b, self.type2test(["left",-2,-1,0,0,"foo",1,2,"right"]))
!
! self.assertRaises(TypeError, a.insert)
!
! def test_pop(self):
! a = self.type2test([-1, 0, 1])
! a.pop()
! self.assertEqual(a, [-1, 0])
! a.pop(0)
! self.assertEqual(a, [0])
! self.assertRaises(IndexError, a.pop, 5)
! a.pop(0)
! self.assertEqual(a, [])
! self.assertRaises(IndexError, a.pop)
!
! self.assertRaises(TypeError, a.pop, 42, 42)
!
! def test_remove(self):
! a = self.type2test([0, 0, 1])
! a.remove(1)
! self.assertEqual(a, [0, 0])
! a.remove(0)
! self.assertEqual(a, [0])
! a.remove(0)
! self.assertEqual(a, [])
!
! self.assertRaises(ValueError, a.remove, 0)
!
! self.assertRaises(TypeError, a.remove)
!
! class BadExc(Exception):
! pass
!
! class BadCmp:
! def __eq__(self, other):
! if other == 2:
! raise BadExc()
! return False
!
! a = self.type2test([0, 1, 2, 3])
! self.assertRaises(BadExc, a.remove, BadCmp())
!
! def test_count(self):
! a = self.type2test([0, 1, 2])*3
! self.assertEqual(a.count(0), 3)
! self.assertEqual(a.count(1), 3)
! self.assertEqual(a.count(3), 0)
!
! self.assertRaises(TypeError, a.count)
!
! class BadExc(Exception):
! pass
!
! class BadCmp:
! def __eq__(self, other):
! if other == 2:
! raise BadExc()
! return False
!
! self.assertRaises(BadExc, a.count, BadCmp())
!
! def test_index(self):
! u = self.type2test([0, 1])
! self.assertEqual(u.index(0), 0)
! self.assertEqual(u.index(1), 1)
! self.assertRaises(ValueError, u.index, 2)
!
! u = self.type2test([-2, -1, 0, 0, 1, 2])
! self.assertEqual(u.count(0), 2)
! self.assertEqual(u.index(0), 2)
! self.assertEqual(u.index(0, 2), 2)
! self.assertEqual(u.index(-2, -10), 0)
! self.assertEqual(u.index(0, 3), 3)
! self.assertEqual(u.index(0, 3, 4), 3)
! self.assertRaises(ValueError, u.index, 2, 0, -10)
!
! self.assertRaises(TypeError, u.index)
!
! class BadExc(Exception):
! pass
!
! class BadCmp:
! def __eq__(self, other):
! if other == 2:
! raise BadExc()
! return False
!
! a = self.type2test([0, 1, 2, 3])
! self.assertRaises(BadExc, a.index, BadCmp())
!
! a = self.type2test([-2, -1, 0, 0, 1, 2])
! self.assertEqual(a.index(0), 2)
! self.assertEqual(a.index(0, 2), 2)
! self.assertEqual(a.index(0, -4), 2)
! self.assertEqual(a.index(-2, -10), 0)
! self.assertEqual(a.index(0, 3), 3)
! self.assertEqual(a.index(0, -3), 3)
! self.assertEqual(a.index(0, 3, 4), 3)
! self.assertEqual(a.index(0, -3, -2), 3)
! self.assertEqual(a.index(0, -4*sys.maxint, 4*sys.maxint), 2)
! self.assertRaises(ValueError, a.index, 0, 4*sys.maxint,-4*sys.maxint)
! self.assertRaises(ValueError, a.index, 2, 0, -10)
! a.remove(0)
! self.assertRaises(ValueError, a.index, 2, 0, 4)
! self.assertEqual(a, self.type2test([-2, -1, 0, 1, 2]))
!
! def test_reverse(self):
! u = self.type2test([-2, -1, 0, 1, 2])
! u2 = u[:]
! u.reverse()
! self.assertEqual(u, [2, 1, 0, -1, -2])
! u.reverse()
! self.assertEqual(u, u2)
!
! self.assertRaises(TypeError, u.reverse, 42)
!
! def test_sort(self):
! u = self.type2test([1, 0])
! u.sort()
! self.assertEqual(u, [0, 1])
!
! u = self.type2test([2,1,0,-1,-2])
! u.sort()
! self.assertEqual(u, self.type2test([-2,-1,0,1,2]))
!
! self.assertRaises(TypeError, u.sort, 42, 42)
!
! def revcmp(a, b):
! return cmp(b, a)
! u.sort(revcmp)
! self.assertEqual(u, self.type2test([2,1,0,-1,-2]))
!
! # The following dumps core in unpatched Python 1.5:
! def myComparison(x,y):
! return cmp(x%3, y%7)
! z = self.type2test(range(12))
! z.sort(myComparison)
!
! self.assertRaises(TypeError, z.sort, 2)
!
! def selfmodifyingComparison(x,y):
! z.append(1)
! return cmp(x, y)
! self.assertRaises(ValueError, z.sort, selfmodifyingComparison)
!
! self.assertRaises(TypeError, z.sort, lambda x, y: 's')
!
! self.assertRaises(TypeError, z.sort, 42, 42, 42, 42)
!
! def test_slice(self):
! u = self.type2test("spam")
! u[:2] = "h"
! self.assertEqual(u, list("ham"))
!
! def test_iadd(self):
! super(CommonTest, self).test_iadd()
! u = self.type2test([0, 1])
! u2 = u
! u += [2, 3]
! self.assert_(u is u2)
!
! u = self.type2test("spam")
! u += "eggs"
! self.assertEqual(u, self.type2test("spameggs"))
!
! self.assertRaises(TypeError, u.__iadd__, None)
!
! def test_imul(self):
! u = self.type2test([0, 1])
! u *= 3
! self.assertEqual(u, self.type2test([0, 1, 0, 1, 0, 1]))
! u *= 0
! self.assertEqual(u, self.type2test([]))
!
! def test_extendedslicing(self):
! # subscript
! a = self.type2test([0,1,2,3,4])
!
! # deletion
! del a[::2]
! self.assertEqual(a, self.type2test([1,3]))
! a = self.type2test(range(5))
! del a[1::2]
! self.assertEqual(a, self.type2test([0,2,4]))
! a = self.type2test(range(5))
! del a[1::-2]
! self.assertEqual(a, self.type2test([0,2,3,4]))
! a = self.type2test(range(10))
! del a[::1000]
! self.assertEqual(a, self.type2test([1, 2, 3, 4, 5, 6, 7, 8, 9]))
! # assignment
! a = self.type2test(range(10))
! a[::2] = [-1]*5
! self.assertEqual(a, self.type2test([-1, 1, -1, 3, -1, 5, -1, 7, -1, 9]))
! a = self.type2test(range(10))
! a[::-4] = [10]*3
! self.assertEqual(a, self.type2test([0, 10, 2, 3, 4, 10, 6, 7, 8 ,10]))
! a = self.type2test(range(4))
! a[::-1] = a
! self.assertEqual(a, self.type2test([3, 2, 1, 0]))
! a = self.type2test(range(10))
! b = a[:]
! c = a[:]
! a[2:3] = self.type2test(["two", "elements"])
! b[slice(2,3)] = self.type2test(["two", "elements"])
! c[2:3:] = self.type2test(["two", "elements"])
! self.assertEqual(a, b)
! self.assertEqual(a, c)
! a = self.type2test(range(10))
! a[::2] = tuple(range(5))
! self.assertEqual(a, self.type2test([0, 1, 1, 3, 2, 5, 3, 7, 4, 9]))
Index: seq_tests.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/seq_tests.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** seq_tests.py 8 Dec 2003 11:38:45 -0000 1.1
--- seq_tests.py 18 Jan 2004 21:03:23 -0000 1.2
***************
*** 1,171 ****
! """
! Tests common to tuple, list and UserList.UserList
! """
!
! import unittest
! from test import test_support
!
! class CommonTest(unittest.TestCase):
! # The type to be tested
! type2test = None
!
! def test_constructors(self):
! l0 = []
! l1 = [0]
! l2 = [0, 1]
!
! u = self.type2test()
! u0 = self.type2test(l0)
! u1 = self.type2test(l1)
! u2 = self.type2test(l2)
!
! uu = self.type2test(u)
! uu0 = self.type2test(u0)
! uu1 = self.type2test(u1)
! uu2 = self.type2test(u2)
!
! v = self.type2test(tuple(u))
! class OtherSeq:
! def __init__(self, initseq):
! self.__data = initseq
! def __len__(self):
! return len(self.__data)
! def __getitem__(self, i):
! return self.__data[i]
! s = OtherSeq(u0)
! v0 = self.type2test(s)
! self.assertEqual(len(v0), len(s))
!
! s = "this is also a sequence"
! vv = self.type2test(s)
! self.assertEqual(len(vv), len(s))
!
! def test_truth(self):
! self.assert_(not self.type2test())
! self.assert_(self.type2test([42]))
!
! def test_getitem(self):
! u = self.type2test([0, 1, 2, 3, 4])
! for i in xrange(len(u)):
! self.assertEqual(u[i], i)
! for i in xrange(-len(u), -1):
! self.assertEqual(u[i], len(u)+i)
! self.assertRaises(IndexError, u.__getitem__, -len(u)-1)
! self.assertRaises(IndexError, u.__getitem__, len(u))
!
! u = self.type2test()
! self.assertRaises(IndexError, u.__getitem__, 0)
! self.assertRaises(IndexError, u.__getitem__, -1)
!
! self.assertRaises(TypeError, u.__getitem__)
!
! def test_getslice(self):
! l = [0, 1, 2, 3, 4]
! u = self.type2test(l)
!
! self.assertEqual(u[0:0], self.type2test())
! self.assertEqual(u[1:2], self.type2test([1]))
! self.assertEqual(u[-2:-1], self.type2test([3]))
! self.assertEqual(u[-1000:1000], u)
! self.assertEqual(u[1000:-1000], self.type2test([]))
! self.assertEqual(u[:], u)
! self.assertEqual(u[1:None], self.type2test([1, 2, 3, 4]))
! self.assertEqual(u[None:3], self.type2test([0, 1, 2]))
!
! # Extended slices
! self.assertEqual(u[::], u)
! self.assertEqual(u[::2], self.type2test([0, 2, 4]))
! self.assertEqual(u[1::2], self.type2test([1, 3]))
! self.assertEqual(u[::-1], self.type2test([4, 3, 2, 1, 0]))
! self.assertEqual(u[::-2], self.type2test([4, 2, 0]))
! self.assertEqual(u[3::-2], self.type2test([3, 1]))
! self.assertEqual(u[3:3:-2], self.type2test([]))
! self.assertEqual(u[3:2:-2], self.type2test([3]))
! self.assertEqual(u[3:1:-2], self.type2test([3]))
! self.assertEqual(u[3:0:-2], self.type2test([3, 1]))
! self.assertEqual(u[::-100], self.type2test([4]))
! self.assertEqual(u[100:-100:], self.type2test([]))
! self.assertEqual(u[-100:100:], u)
! self.assertEqual(u[100:-100:-1], u[::-1])
! self.assertEqual(u[-100:100:-1], self.type2test([]))
! self.assertEqual(u[-100L:100L:2L], self.type2test([0, 2, 4]))
!
! # Test extreme cases with long ints
! a = self.type2test([0,1,2,3,4])
! self.assertEqual(a[ -pow(2,128L): 3 ], self.type2test([0,1,2]))
! self.assertEqual(a[ 3: pow(2,145L) ], self.type2test([3,4]))
!
! self.assertRaises(TypeError, u.__getslice__)
!
! def test_contains(self):
! u = self.type2test([0, 1, 2])
! for i in u:
! self.assert_(i in u)
! for i in min(u)-1, max(u)+1:
! self.assert_(i not in u)
!
! self.assertRaises(TypeError, u.__contains__)
!
! def test_len(self):
! self.assertEqual(len(self.type2test()), 0)
! self.assertEqual(len(self.type2test([])), 0)
! self.assertEqual(len(self.type2test([0])), 1)
! self.assertEqual(len(self.type2test([0, 1, 2])), 3)
!
! def test_minmax(self):
! u = self.type2test([0, 1, 2])
! self.assertEqual(min(u), 0)
! self.assertEqual(max(u), 2)
!
! def test_addmul(self):
! u1 = self.type2test([0])
! u2 = self.type2test([0, 1])
! self.assertEqual(u1, u1 + self.type2test())
! self.assertEqual(u1, self.type2test() + u1)
! self.assertEqual(u1 + self.type2test([1]), u2)
! self.assertEqual(self.type2test([-1]) + u1, self.type2test([-1, 0]))
! self.assertEqual(self.type2test(), u2*0)
! self.assertEqual(self.type2test(), 0*u2)
! self.assertEqual(self.type2test(), u2*0L)
! self.assertEqual(self.type2test(), 0L*u2)
! self.assertEqual(u2, u2*1)
! self.assertEqual(u2, 1*u2)
! self.assertEqual(u2, u2*1L)
! self.assertEqual(u2, 1L*u2)
! self.assertEqual(u2+u2, u2*2)
! self.assertEqual(u2+u2, 2*u2)
! self.assertEqual(u2+u2, u2*2L)
! self.assertEqual(u2+u2, 2L*u2)
! self.assertEqual(u2+u2+u2, u2*3)
! self.assertEqual(u2+u2+u2, 3*u2)
!
! class subclass(self.type2test):
! pass
! u3 = subclass([0, 1])
! self.assertEqual(u3, u3*1)
! self.assert_(u3 is not u3*1)
!
! def test_iadd(self):
! u = self.type2test([0, 1])
! u += self.type2test()
! self.assertEqual(u, self.type2test([0, 1]))
! u += self.type2test([2, 3])
! self.assertEqual(u, self.type2test([0, 1, 2, 3]))
! u += self.type2test([4, 5])
! self.assertEqual(u, self.type2test([0, 1, 2, 3, 4, 5]))
!
! u = self.type2test("spam")
! u += self.type2test("eggs")
! self.assertEqual(u, self.type2test("spameggs"))
!
! def test_imul(self):
! u = self.type2test([0, 1])
! u *= 3
! self.assertEqual(u, self.type2test([0, 1, 0, 1, 0, 1]))
!
! def test_getitemoverwriteiter(self):
! # Verify that __getitem__ overrides are not recognized by __iter__
! class T(self.type2test):
! def __getitem__(self, key):
! return str(key) + '!!!'
! self.assertEqual(iter(T((1,2))).next(), 1)
--- 1,171 ----
! """
! Tests common to tuple, list and UserList.UserList
! """
!
! import unittest
! from test import test_support
!
! class CommonTest(unittest.TestCase):
! # The type to be tested
! type2test = None
!
! def test_constructors(self):
! l0 = []
! l1 = [0]
! l2 = [0, 1]
!
! u = self.type2test()
! u0 = self.type2test(l0)
! u1 = self.type2test(l1)
! u2 = self.type2test(l2)
!
! uu = self.type2test(u)
! uu0 = self.type2test(u0)
! uu1 = self.type2test(u1)
! uu2 = self.type2test(u2)
!
! v = self.type2test(tuple(u))
! class OtherSeq:
! def __init__(self, initseq):
! self.__data = initseq
! def __len__(self):
! return len(self.__data)
! def __getitem__(self, i):
! return self.__data[i]
! s = OtherSeq(u0)
! v0 = self.type2test(s)
! self.assertEqual(len(v0), len(s))
!
! s = "this is also a sequence"
! vv = self.type2test(s)
! self.assertEqual(len(vv), len(s))
!
! def test_truth(self):
! self.assert_(not self.type2test())
! self.assert_(self.type2test([42]))
!
! def test_getitem(self):
! u = self.type2test([0, 1, 2, 3, 4])
! for i in xrange(len(u)):
! self.assertEqual(u[i], i)
! for i in xrange(-len(u), -1):
! self.assertEqual(u[i], len(u)+i)
! self.assertRaises(IndexError, u.__getitem__, -len(u)-1)
! self.assertRaises(IndexError, u.__getitem__, len(u))
!
! u = self.type2test()
! self.assertRaises(IndexError, u.__getitem__, 0)
! self.assertRaises(IndexError, u.__getitem__, -1)
!
! self.assertRaises(TypeError, u.__getitem__)
!
! def test_getslice(self):
! l = [0, 1, 2, 3, 4]
! u = self.type2test(l)
!
! self.assertEqual(u[0:0], self.type2test())
! self.assertEqual(u[1:2], self.type2test([1]))
! self.assertEqual(u[-2:-1], self.type2test([3]))
! self.assertEqual(u[-1000:1000], u)
! self.assertEqual(u[1000:-1000], self.type2test([]))
! self.assertEqual(u[:], u)
! self.assertEqual(u[1:None], self.type2test([1, 2, 3, 4]))
! self.assertEqual(u[None:3], self.type2test([0, 1, 2]))
!
! # Extended slices
! self.assertEqual(u[::], u)
! self.assertEqual(u[::2], self.type2test([0, 2, 4]))
! self.assertEqual(u[1::2], self.type2test([1, 3]))
! self.assertEqual(u[::-1], self.type2test([4, 3, 2, 1, 0]))
! self.assertEqual(u[::-2], self.type2test([4, 2, 0]))
! self.assertEqual(u[3::-2], self.type2test([3, 1]))
! self.assertEqual(u[3:3:-2], self.type2test([]))
! self.assertEqual(u[3:2:-2], self.type2test([3]))
! self.assertEqual(u[3:1:-2], self.type2test([3]))
! self.assertEqual(u[3:0:-2], self.type2test([3, 1]))
! self.assertEqual(u[::-100], self.type2test([4]))
! self.assertEqual(u[100:-100:], self.type2test([]))
! self.assertEqual(u[-100:100:], u)
! self.assertEqual(u[100:-100:-1], u[::-1])
! self.assertEqual(u[-100:100:-1], self.type2test([]))
! self.assertEqual(u[-100L:100L:2L], self.type2test([0, 2, 4]))
!
! # Test extreme cases with long ints
! a = self.type2test([0,1,2,3,4])
! self.assertEqual(a[ -pow(2,128L): 3 ], self.type2test([0,1,2]))
! self.assertEqual(a[ 3: pow(2,145L) ], self.type2test([3,4]))
!
! self.assertRaises(TypeError, u.__getslice__)
!
! def test_contains(self):
! u = self.type2test([0, 1, 2])
! for i in u:
! self.assert_(i in u)
! for i in min(u)-1, max(u)+1:
! self.assert_(i not in u)
!
! self.assertRaises(TypeError, u.__contains__)
!
! def test_len(self):
! self.assertEqual(len(self.type2test()), 0)
! self.assertEqual(len(self.type2test([])), 0)
! self.assertEqual(len(self.type2test([0])), 1)
! self.assertEqual(len(self.type2test([0, 1, 2])), 3)
!
! def test_minmax(self):
! u = self.type2test([0, 1, 2])
! self.assertEqual(min(u), 0)
! self.assertEqual(max(u), 2)
!
! def test_addmul(self):
! u1 = self.type2test([0])
! u2 = self.type2test([0, 1])
! self.assertEqual(u1, u1 + self.type2test())
! self.assertEqual(u1, self.type2test() + u1)
! self.assertEqual(u1 + self.type2test([1]), u2)
! self.assertEqual(self.type2test([-1]) + u1, self.type2test([-1, 0]))
! self.assertEqual(self.type2test(), u2*0)
! self.assertEqual(self.type2test(), 0*u2)
! self.assertEqual(self.type2test(), u2*0L)
! self.assertEqual(self.type2test(), 0L*u2)
! self.assertEqual(u2, u2*1)
! self.assertEqual(u2, 1*u2)
! self.assertEqual(u2, u2*1L)
! self.assertEqual(u2, 1L*u2)
! self.assertEqual(u2+u2, u2*2)
! self.assertEqual(u2+u2, 2*u2)
! self.assertEqual(u2+u2, u2*2L)
! self.assertEqual(u2+u2, 2L*u2)
! self.assertEqual(u2+u2+u2, u2*3)
! self.assertEqual(u2+u2+u2, 3*u2)
!
! class subclass(self.type2test):
! pass
! u3 = subclass([0, 1])
! self.assertEqual(u3, u3*1)
! self.assert_(u3 is not u3*1)
!
! def test_iadd(self):
! u = self.type2test([0, 1])
! u += self.type2test()
! self.assertEqual(u, self.type2test([0, 1]))
! u += self.type2test([2, 3])
! self.assertEqual(u, self.type2test([0, 1, 2, 3]))
! u += self.type2test([4, 5])
! self.assertEqual(u, self.type2test([0, 1, 2, 3, 4, 5]))
!
! u = self.type2test("spam")
! u += self.type2test("eggs")
! self.assertEqual(u, self.type2test("spameggs"))
!
! def test_imul(self):
! u = self.type2test([0, 1])
! u *= 3
! self.assertEqual(u, self.type2test([0, 1, 0, 1, 0, 1]))
!
! def test_getitemoverwriteiter(self):
! # Verify that __getitem__ overrides are not recognized by __iter__
! class T(self.type2test):
! def __getitem__(self, key):
! return str(key) + '!!!'
! self.assertEqual(iter(T((1,2))).next(), 1)
Index: test_list.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_list.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** test_list.py 8 Dec 2003 11:38:45 -0000 1.1
--- test_list.py 18 Jan 2004 21:03:23 -0000 1.2
***************
*** 1,25 ****
! import unittest
! from test import test_support, list_tests
!
! class ListTest(list_tests.CommonTest):
! type2test = list
!
! def test_truth(self):
! super(ListTest, self).test_truth()
! self.assert_(not [])
! self.assert_([42])
!
! def test_identity(self):
! self.assert_([] is not [])
!
! def test_len(self):
! super(ListTest, self).test_len()
! self.assertEqual(len([]), 0)
! self.assertEqual(len([0]), 1)
! self.assertEqual(len([0, 1, 2]), 3)
!
! def test_main():
! test_support.run_unittest(ListTest)
!
! if __name__=="__main__":
! test_main()
--- 1,25 ----
! import unittest
! from test import test_support, list_tests
!
! class ListTest(list_tests.CommonTest):
! type2test = list
!
! def test_truth(self):
! super(ListTest, self).test_truth()
! self.assert_(not [])
! self.assert_([42])
!
! def test_identity(self):
! self.assert_([] is not [])
!
! def test_len(self):
! super(ListTest, self).test_len()
! self.assertEqual(len([]), 0)
! self.assertEqual(len([0]), 1)
! self.assertEqual(len([0, 1, 2]), 3)
!
! def test_main():
! test_support.run_unittest(ListTest)
!
! if __name__=="__main__":
! test_main()
Index: test_tuple.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_tuple.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** test_tuple.py 8 Dec 2003 11:38:45 -0000 1.1
--- test_tuple.py 18 Jan 2004 21:03:23 -0000 1.2
***************
*** 1,49 ****
! import unittest
! from test import test_support, seq_tests
!
! class TupleTest(seq_tests.CommonTest):
! type2test = tuple
!
! def test_constructors(self):
! super(TupleTest, self).test_len()
! # calling built-in types without argument must return empty
! self.assertEqual(tuple(), ())
!
! def test_truth(self):
! super(TupleTest, self).test_truth()
! self.assert_(not ())
! self.assert_((42, ))
!
! def test_len(self):
! super(TupleTest, self).test_len()
! self.assertEqual(len(()), 0)
! self.assertEqual(len((0,)), 1)
! self.assertEqual(len((0, 1, 2)), 3)
!
! def test_iadd(self):
! super(TupleTest, self).test_iadd()
! u = (0, 1)
! u2 = u
! u += (2, 3)
! self.assert_(u is not u2)
!
! def test_imul(self):
! super(TupleTest, self).test_imul()
! u = (0, 1)
! u2 = u
! u *= 3
! self.assert_(u is not u2)
!
! def test_tupleresizebug(self):
! # Check that a specific bug in _PyTuple_Resize() is squashed.
! def f():
! for i in range(1000):
! yield i
! self.assertEqual(list(tuple(f())), range(1000))
!
!
! def test_main():
! test_support.run_unittest(TupleTest)
!
! if __name__=="__main__":
! test_main()
--- 1,49 ----
! import unittest
! from test import test_support, seq_tests
!
! class TupleTest(seq_tests.CommonTest):
! type2test = tuple
!
! def test_constructors(self):
! super(TupleTest, self).test_len()
! # calling built-in types without argument must return empty
! self.assertEqual(tuple(), ())
!
! def test_truth(self):
! super(TupleTest, self).test_truth()
! self.assert_(not ())
! self.assert_((42, ))
!
! def test_len(self):
! super(TupleTest, self).test_len()
! self.assertEqual(len(()), 0)
! self.assertEqual(len((0,)), 1)
! self.assertEqual(len((0, 1, 2)), 3)
!
! def test_iadd(self):
! super(TupleTest, self).test_iadd()
! u = (0, 1)
! u2 = u
! u += (2, 3)
! self.assert_(u is not u2)
!
! def test_imul(self):
! super(TupleTest, self).test_imul()
! u = (0, 1)
! u2 = u
! u *= 3
! self.assert_(u is not u2)
!
! def test_tupleresizebug(self):
! # Check that a specific bug in _PyTuple_Resize() is squashed.
! def f():
! for i in range(1000):
! yield i
! self.assertEqual(list(tuple(f())), range(1000))
!
!
! def test_main():
! test_support.run_unittest(TupleTest)
!
! if __name__=="__main__":
! test_main()
Index: test_userlist.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_userlist.py,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** test_userlist.py 8 Dec 2003 11:38:45 -0000 1.11
--- test_userlist.py 18 Jan 2004 21:03:23 -0000 1.12
***************
*** 2,21 ****
from UserList import UserList
! import unittest
from test import test_support, list_tests
! class UserListTest(list_tests.CommonTest):
type2test = UserList
!
! def test_getslice(self):
super(UserListTest, self).test_getslice()
! l = [0, 1, 2, 3, 4]
! u = self.type2test(l)
! for i in range(-3, 6):
! self.assertEqual(u[:i], l[:i])
! self.assertEqual(u[i:], l[i:])
! for j in xrange(-3, 6):
! self.assertEqual(u[i:j], l[i:j])
!
def test_add_specials(self):
u = UserList("spam")
--- 2,21 ----
from UserList import UserList
! import unittest
from test import test_support, list_tests
! class UserListTest(list_tests.CommonTest):
type2test = UserList
!
! def test_getslice(self):
super(UserListTest, self).test_getslice()
! l = [0, 1, 2, 3, 4]
! u = self.type2test(l)
! for i in range(-3, 6):
! self.assertEqual(u[:i], l[:i])
! self.assertEqual(u[i:], l[i:])
! for j in xrange(-3, 6):
! self.assertEqual(u[i:j], l[i:j])
!
def test_add_specials(self):
u = UserList("spam")
***************
*** 30,56 ****
self.assertEqual(u2, list("spameggs"))
! def test_iadd(self):
! super(UserListTest, self).test_iadd()
! u = [0, 1]
! u += UserList([0, 1])
! self.assertEqual(u, [0, 1, 0, 1])
!
! def test_mixedcmp(self):
! u = self.type2test([0, 1])
! self.assertEqual(u, [0, 1])
! self.assertNotEqual(u, [0])
! self.assertNotEqual(u, [0, 2])
!
! def test_mixedadd(self):
! u = self.type2test([0, 1])
! self.assertEqual(u + [], u)
! self.assertEqual(u + [2], [0, 1, 2])
!
! def test_getitemoverwriteiter(self):
! # Verify that __getitem__ overrides *are* recognized by __iter__
! class T(self.type2test):
! def __getitem__(self, key):
! return str(key) + '!!!'
! self.assertEqual(iter(T((1,2))).next(), "0!!!")
def test_main():
--- 30,56 ----
self.assertEqual(u2, list("spameggs"))
! def test_iadd(self):
! super(UserListTest, self).test_iadd()
! u = [0, 1]
! u += UserList([0, 1])
! self.assertEqual(u, [0, 1, 0, 1])
!
! def test_mixedcmp(self):
! u = self.type2test([0, 1])
! self.assertEqual(u, [0, 1])
! self.assertNotEqual(u, [0])
! self.assertNotEqual(u, [0, 2])
!
! def test_mixedadd(self):
! u = self.type2test([0, 1])
! self.assertEqual(u + [], u)
! self.assertEqual(u + [2], [0, 1, 2])
!
! def test_getitemoverwriteiter(self):
! # Verify that __getitem__ overrides *are* recognized by __iter__
! class T(self.type2test):
! def __getitem__(self, key):
! return str(key) + '!!!'
! self.assertEqual(iter(T((1,2))).next(), "0!!!")
def test_main():
More information about the Python-checkins
mailing list