1
# Check every path through every method of UserList
3
from UserList import UserList
5
from test import test_support, list_tests
7
class UserListTest(list_tests.CommonTest):
10
def test_getslice(self):
11
super(UserListTest, self).test_getslice()
14
for i in range(-3, 6):
15
self.assertEqual(u[:i], l[:i])
16
self.assertEqual(u[i:], l[i:])
17
for j in xrange(-3, 6):
18
self.assertEqual(u[i:j], l[i:j])
20
def test_add_specials(self):
23
self.assertEqual(u2, list("spameggs"))
25
def test_radd_specials(self):
28
self.assertEqual(u2, list("spameggs"))
29
u2 = u.__radd__(UserList("spam"))
30
self.assertEqual(u2, list("spameggs"))
33
super(UserListTest, self).test_iadd()
36
self.assertEqual(u, [0, 1, 0, 1])
38
def test_mixedcmp(self):
39
u = self.type2test([0, 1])
40
self.assertEqual(u, [0, 1])
41
self.assertNotEqual(u, [0])
42
self.assertNotEqual(u, [0, 2])
44
def test_mixedadd(self):
45
u = self.type2test([0, 1])
46
self.assertEqual(u + [], u)
47
self.assertEqual(u + [2], [0, 1, 2])
49
def test_getitemoverwriteiter(self):
50
# Verify that __getitem__ overrides *are* recognized by __iter__
51
class T(self.type2test):
52
def __getitem__(self, key):
53
return str(key) + '!!!'
54
self.assertEqual(iter(T((1,2))).next(), "0!!!")
57
test_support.run_unittest(UserListTest)
59
if __name__ == "__main__":