def test_remove(): """ Test remove """ l = DoubleLinkedList() with pytest.raises(LookupError): l.remove(1) for i in range(1, 4): l.append(i) assert l.remove(2) assert l.head.value == 1 assert l.head.next.value == 3 assert l.tail.value == 3 assert l._size == 2
def test_double_linked_list(): """ Test list creation and insert method """ l = DoubleLinkedList() assert l.head == None assert l.tail == None assert l._size == 0 for element in [1, 2]: l.append(element) print('Value: {}, Type: {}'.format(l.head.value, type(l.head.value))) assert l.head.value == 1 assert l.tail.value == 2 assert l._size == 2 assert l.head.next.value == 2 assert l.tail.next == None
def test_append(): """ Test append method """ l = DoubleLinkedList() l.append(1) assert l.tail.value == 1 assert l.tail.next == None assert l.head.value == 1 assert l._size == 1 l.append(2) assert l.tail.value == 2 assert l.tail.next == None assert l.head.value == 1 assert l.head.next.value == 2 assert l._size == 2
def test_append(): """ Test append method """ l = DoubleLinkedList() l.append(1) assert l.tail.value == 1 assert l.tail.next == None assert l.head.value == 1 assert l._size == 1 l.append(2) assert l.tail.value == 2 assert l.tail.next == None assert l.head.value == 1 assert l.head.next.value == 2 assert l._size == 2
def test_double_linked_list(): """ Test list creation and insert method """ l = DoubleLinkedList() assert l.head == None assert l.tail == None assert l._size == 0 for element in [1,2]: l.append(element) print('Value: {}, Type: {}'.format(l.head.value, type(l.head.value))) assert l.head.value == 1 assert l.tail.value == 2 assert l._size == 2 assert l.head.next.value == 2 assert l.tail.next == None
def test_shift(): """ Test shift """ l = DoubleLinkedList() with pytest.raises(LookupError): l.shift() for i in range(1, 4): l.append(i) assert l._size == 3 assert l.shift() == 3 assert l.head.value == 1 assert l.tail.value == 2 assert l._size == 2 assert l.shift() == 2 assert l.head.value == 1 assert l.tail.value == 1 assert l._size == 1
def test_shift(): """ Test shift """ l = DoubleLinkedList() with pytest.raises(LookupError): l.shift() for i in range(1,4): l.append(i) assert l._size == 3 assert l.shift() == 3 assert l.head.value == 1 assert l.tail.value == 2 assert l._size == 2 assert l.shift() == 2 assert l.head.value == 1 assert l.tail.value == 1 assert l._size == 1
def test_remove(): """ Test remove """ l = DoubleLinkedList() with pytest.raises(LookupError): l.remove(1) for i in range(1,4): l.append(i) assert l.remove(2) assert l.head.value == 1 assert l.head.next.value == 3 assert l.tail.value == 3 assert l._size == 2
class Deque(object): '''Deque is a composition of Double Linked List''' def __init__(self, input=None): '''create doubly linked list''' self.deque = DoubleLinkedList(input) def append(self, val): self.deque.append(val) def append_left(self, val): self.deque.insert(val) def pop(self): return self.deque.pop() def pop_left(self): return self.deque.shift() def peek(self): try: return self.deque.head.data except AttributeError: return None def peek_left(self): try: return self.deque.tail.data except AttributeError: return None def size(self): size = 0 current_spot = self.deque.head while current_spot: size += 1 current_spot = current_spot.toward_tail return size
class Deque(object): '''Deque is a composition of Double Linked List''' def __init__(self, input=None): '''create doubly linked list''' self.deque = DoubleLinkedList(input) def append(self, val): self.deque.append(val) def append_left(self, val): self.deque.insert(val) def pop(self): return self.deque.pop() def pop_left(self): return self.deque.shift() def peek(self): try: return self.deque.head.data except AttributeError: return None def peek_left(self): try: return self.deque.tail.data except AttributeError: return None def size(self): size = 0 current_spot = self.deque.head while current_spot: size += 1 current_spot = current_spot.toward_tail return size
def test_append_list(): from double_linked import DoubleLinkedList new_list = DoubleLinkedList((4, 5, 65)) new_list.append([45, 'nine', False]) assert new_list.tail.data == [45, 'nine', False]
def test_append_int(): from double_linked import DoubleLinkedList new_list = DoubleLinkedList((4, 5, 65)) new_list.append(45) assert new_list.tail.data == 45
def test_append_list(): from double_linked import DoubleLinkedList new_list = DoubleLinkedList((4, 5, 65)) new_list.append([45, 'nine', False]) assert new_list.tail.data == [45, 'nine', False]
def test_append_int(): from double_linked import DoubleLinkedList new_list = DoubleLinkedList((4, 5, 65)) new_list.append(45) assert new_list.tail.data == 45