def test(): dll = List() dll.insert(len(dll), 83) dll.insert(len(dll), 82) dll.insert(len(dll), 81) dll.insert(len(dll), 80) return dll.end.prev.prev.prev.value
def test(): dll = List() n = list(map(Node, [71])) dll.start = n[0] dll.end = n[0] dll._length = 1 return dll.get_value(0)
def test(): dll = List() dll.insert(len(dll), 83) dll.insert(len(dll), 82) dll.insert(len(dll), 81) dll.insert(len(dll), 80) return dll.start.next.next.next.value
def test(): dll = List() n = list(map(Node, [71])) dll.start = n[0] dll.end = n[0] dll._length = 1 dll.get_value(-2) # Exception raised here return "SHOULD RAISE EXCEPTION"
def test(): dll = List() dll.prepend(1) dll.prepend(2) dll.prepend(3) v = f"{dll.start.value}{dll.start.next.value}{dll.start.next.next.value}" v += f"{dll.end.value}{dll.end.prev.value}{dll.end.prev.prev.value}" return v
def test(): dll = List() n = list(map(Node, [9])) dll.start = n[0] dll.end = n[0] dll._length = 1 dll.remove(9) v = f"{dll.start}" v += f"{dll.end}" v += f"{dll._length}" return v
def test(): dll = List() n = list(map(Node, [0])) dll.start = n[0] dll.end = n[0] dll._length = 1 v = f"{dll.pop(0)}" v += f"{dll.start}" v += f"{dll.end}" v += f"{dll._length}" return v
def test(): dll = List() n = list(map(Node, [71, 72, 73])) dll.start = n[0] dll.start.next = n[1] dll.start.next.next = n[2] dll.end = n[2] dll.end.prev = n[1] dll.end.prev.prev = n[0] dll._length = 3 return dll.get_value(-1)
def test(): dll = List() n = list(map(Node, [71, 72])) dll.start = n[0] dll.start.next = n[1] dll.end = n[1] dll.end.prev = n[0] dll._length = 2 dll.insert(-2, 33) v = f"{dll.start.value}{dll.start.next.value}{dll.start.next.next.value}{dll.start.next.next.next}" v += f"{dll.end.value}{dll.end.prev.value}{dll.end.prev.prev.value}{dll.end.prev.prev.prev}" return v
def test(): dll = List() n = list(map(Node, [0, 1, 2])) dll.start = n[0] dll.start.next = n[1] dll.start.next.next = n[2] dll.end = n[2] dll.end.prev = n[1] dll.end.prev.prev = n[0] dll._length = 3 dll.remove(5) # Exception raised here return "SHOULD RAISE EXCEPTION"
def test(): dll = List() n = list(map(Node, [0, 1])) dll.start = n[0] dll.start.next = n[1] dll.end = n[1] dll.end.prev = n[0] dll._length = 2 v = f"{dll.pop(1)}" v += f"{dll.start.value}{dll.start.next}" v += f"{dll.end.value}{dll.end.prev}" v += f"{dll._length}" return v
def test(): dll = List() n = list(map(Node, [9, 8, 7])) dll.start = n[0] dll.start.next = n[1] dll.start.next.next = n[2] dll.end = n[2] dll.end.prev = n[1] dll.end.prev.prev = n[0] dll._length = 3 dll.remove(7) v = f"{dll.start.value}{dll.start.next.value}" v += f"{dll.end.value}{dll.end.prev.value}" return v
def test(): dll = List() n = list(map(Node, [7, 8, 9])) dll.start = n[0] dll.start.next = n[1] dll.start.next.next = n[2] dll.end = n[2] dll.end.prev = n[1] dll.end.prev.prev = n[0] dll._length = 3 val = dll.pop(-3) v = f"{val}" v += f"{dll.start.value}{dll.start.next.value}{dll.start.next.next}" v += f"{dll.end.value}{dll.end.prev.value}{dll.end.prev.prev}" return v
def test(): dll = List() dll._length = 11 return len(dll)
run(test, desc=desc, expected=30) desc = "A call to `.insert()` links the `.end` attribute correctly." def test(): dll = List() dll.insert(0, 40) return dll.end.value run(test, desc=desc, expected=40) dll = List() desc = "(1/4) - Multiple `.insert()` calls assign the appropriate nodes to `.start` and `.end`." def test(): global dll dll.insert(0, 51) if dll.start.value != 51 or dll.end.value != 51: return False return True run(test, desc=desc, expected=True) desc = "(2/4) - Multiple `.insert()` calls assign the appropriate nodes to `.start` and `.end`."
def test(): dll = List() dll.insert(0, 33) v = f"{dll.start.value}" v += f"{dll.end.value}" return v
def test(): dll = List() dll.insert(0, 30) return dll.start.value
def test(): dll = List() return dll._length
def test(): dll = List() dll.insert(0, 40) return dll.end.value
def test(): dll = List() dll.append(100) return dll.end.value
def test(): dll = List() dll.insert(0, 80) dll.insert(1, 81) dll.insert(-3, 83) # Exception raised here return "SHOULD RAISE EXCEPTION"
def test(): dll = List() dll.pop() # Exception raised here return "SHOULD RAISE EXCEPTION"
def test(): dll = List() return dll.end
def test(): dll = List() return dll.start
def test(): dll = List() dll.append(100) dll.append(101) return dll.start.value
def test(): dll = List() dll.prepend(100) return dll.start.value
def test(): dll = List() dll.get_value(0) # Exception raised here return "SHOULD RAISE EXCEPTION"
def test(): dll = List() dll.prepend(100) dll.prepend(101) return dll.end.value