def count (self, item): """L.count (...) -> int Returns the number of occurences of the ListItem. Raises a TypeError, if the passed argument does not inherit from the ListItem class. """ if not isinstance (item, ListItem): raise TypeError ("item must inherit from ListItem") UserList.count (self, item)
def count(self, item): """L.count (...) -> int Returns the number of occurences of the ListItem. Raises a TypeError, if the passed argument does not inherit from the ListItem class. """ if not isinstance(item, ListItem): raise TypeError("item must inherit from ListItem") UserList.count(self, item)
def test_index(self): u = UserList((0, 1)) self.assertEqual(u.index(0), 0) self.assertEqual(u.index(1), 1) self.assertRaises(ValueError, u.index, 2) u = UserList([-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)
def test_index(self): u = UserList((0, 1)) self.assertEqual(u.index(0), 0) self.assertEqual(u.index(1), 1) self.assertRaises(ValueError, u.index, 2) u = UserList([-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)
def test_count(self): u = UserList((0, 1)) * 3 self.assertEqual(u.count(0), 3) self.assertEqual(u.count(1), 3) self.assertEqual(u.count(2), 0)
def count(self, item): self.__make_unique() return UserList.count(self, item)
u = [-1] + u2 u.pop() assert u == [-1, 0] u.pop(0) assert u == [0] # Test remove u = u2[:] u.remove(1) assert u == u1 # Test count u = u2*3 assert u.count(0) == 3 assert u.count(1) == 3 assert u.count(2) == 0 # Test index assert u2.index(0) == 0 assert u2.index(1) == 1 try: u2.index(2) except ValueError: pass else: assert 0, "expected ValueError"
# Check every path through every method of UserList from UserList import UserList from test_support import TestFailed # Use check instead of assert so -O doesn't render the # test useless. # XXX: could use the verify function in test_support instead def check(predicate, msg): if not predicate: raise TestFailed(msg + " failed") l0 = [] l1 = [0] l2 = [0, 1] # Test constructors u = UserList() u0 = UserList(l0) u1 = UserList(l1) u2 = UserList(l2) uu = UserList(u) uu0 = UserList(u0) uu1 = UserList(u1) uu2 = UserList(u2) v = UserList(tuple(u)) class OtherList: def __init__(self, initlist): self.__data = initlist def __len__(self): return len(self.__data) def __getitem__(self, i): return self.__data[i] v0 = UserList(OtherList(u0))
def test_count(self): u = UserList((0, 1))*3 self.assertEqual(u.count(0), 3) self.assertEqual(u.count(1), 3) self.assertEqual(u.count(2), 0)
u = [-1] + u2 u.pop() check(u == [-1, 0], "u == [-1, 0]") u.pop(0) check(u == [0], "u == [0]") # Test remove u = u2[:] u.remove(1) check(u == u1, "u == u1") # Test count u = u2 * 3 check(u.count(0) == 3, "u.count(0) == 3") check(u.count(1) == 3, "u.count(1) == 3") check(u.count(2) == 0, "u.count(2) == 0") # Test index check(u2.index(0) == 0, "u2.index(0) == 0") check(u2.index(1) == 1, "u2.index(1) == 1") try: u2.index(2) except ValueError: pass else: raise TestFailed("expected ValueError") # Test reverse
u = [-1] + u2 u.pop() check(u == [-1, 0], "u == [-1, 0]") u.pop(0) check(u == [0], "u == [0]") # Test remove u = u2[:] u.remove(1) check(u == u1, "u == u1") # Test count u = u2*3 check(u.count(0) == 3, "u.count(0) == 3") check(u.count(1) == 3, "u.count(1) == 3") check(u.count(2) == 0, "u.count(2) == 0") # Test index check(u2.index(0) == 0, "u2.index(0) == 0") check(u2.index(1) == 1, "u2.index(1) == 1") try: u2.index(2) except ValueError: pass else: raise TestFailed("expected ValueError")
u = [-1] + u2 u.pop() assert u == [-1, 0] u.pop(0) assert u == [0] # Test remove u = u2[:] u.remove(1) assert u == u1 # Test count u = u2 * 3 assert u.count(0) == 3 assert u.count(1) == 3 assert u.count(2) == 0 # Test index assert u2.index(0) == 0 assert u2.index(1) == 1 try: u2.index(2) except ValueError: pass else: assert 0, "expected ValueError" # Test reverse