/Lib/test/test_userlist.py
http://unladen-swallow.googlecode.com/ · Python · 59 lines · 46 code · 11 blank · 2 comment · 3 complexity · f731408dfd9290e2417cfda844840561 MD5 · raw file
- # Check every path through every method of UserList
- from UserList import UserList
- 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")
- u2 = u + "eggs"
- self.assertEqual(u2, list("spameggs"))
- def test_radd_specials(self):
- u = UserList("eggs")
- u2 = "spam" + u
- self.assertEqual(u2, list("spameggs"))
- u2 = u.__radd__(UserList("spam"))
- 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():
- test_support.run_unittest(UserListTest)
- if __name__ == "__main__":
- test_main()