📄 test_userlist.py
字号:
# Check every path through every method of UserListfrom UserList import UserListl0 = []l1 = [0]l2 = [0, 1]# Test constructorsu = UserList()u0 = UserList(l0)u1 = UserList(l1)u2 = UserList(l2)uu = UserList(u)uu0 = UserList(u0)uu1 = UserList(u1)uu2 = UserList(u2)# Test __repr__assert str(u0) == str(l0)assert repr(u1) == repr(l1)assert `u2` == `l2`# Test __cmp__ and __len__def mycmp(a, b): r = cmp(a, b) if r < 0: return -1 if r > 0: return 1 return rall = [l0, l1, l2, u, u0, u1, u2, uu, uu0, uu1, uu2]for a in all: for b in all: assert mycmp(a, b) == mycmp(len(a), len(b))# Test __getitem__for i in range(len(u2)): assert u2[i] == i# Test __setitem__uu2[0] = 0uu2[1] = 100try: uu2[2] = 200except IndexError: passelse: assert 0, "uu2[2] shouldn't be assignable"# Test __delitem__del uu2[1]del uu2[0]try: del uu2[0]except IndexError: passelse: assert 0, "uu2[0] shouldn't be deletable"# Test __getslice__for i in range(-3, 4): assert u2[:i] == l2[:i] assert u2[i:] == l2[i:] for j in range(-3, 4): assert u2[i:j] == l2[i:j]# Test __setslice__for i in range(-3, 4): u2[:i] = l2[:i] assert u2 == l2 u2[i:] = l2[i:] assert u2 == l2 for j in range(-3, 4): u2[i:j] = l2[i:j] assert u2 == l2uu2 = u2[:]uu2[:0] = [-2, -1]assert uu2 == [-2, -1, 0, 1]uu2[0:] = []assert uu2 == []# Test __delslice__uu2 = u2[:]del uu2[1:2]del uu2[0:1]assert uu2 == []uu2 = u2[:]del uu2[1:]del uu2[:1]assert uu2 == []# Test __add__, __radd__, __mul__ and __rmul__assert u1 + [] == [] + u1 == u1assert u1 + [1] == u2assert [-1] + u1 == [-1, 0]assert u2 == u2*1 == 1*u2assert u2+u2 == u2*2 == 2*u2assert u2+u2+u2 == u2*3 == 3*u2# Test appendu = u1[:]u.append(1)assert u == u2# Test insertu = u2[:]u.insert(0, -1)assert u == [-1, 0, 1]# Test popu = [-1] + u2u.pop()assert u == [-1, 0]u.pop(0)assert u == [0]# Test removeu = u2[:]u.remove(1)assert u == u1# Test countu = u2*3assert u.count(0) == 3assert u.count(1) == 3assert u.count(2) == 0# Test indexassert u2.index(0) == 0assert u2.index(1) == 1try: u2.index(2)except ValueError: passelse: assert 0, "expected ValueError"# Test reverseu = u2[:]u.reverse()assert u == [1, 0]u.reverse()assert u == u2# Test sortu = UserList([1, 0])u.sort()assert u == u2# Test extendu = u1[:]u.extend(u2)assert u == u1 + u2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -