Esempio n. 1
0
def test_pop():
    """ Test the pop method """
    l = DoubleLinkedList()
    with pytest.raises(LookupError):
        l.pop()
    for i in range(1, 4):
        l.append(i)
    assert l._size == 3
    assert l.pop() == 1
    assert l.head.value == 2
    assert l.tail.value == 3
    assert l._size == 2
    assert l.pop() == 2
    assert l.head.value == 3
    assert l.tail.value == 3
    assert l._size == 1
def test_pop():
    """ Test the pop method """
    l = DoubleLinkedList()
    with pytest.raises(LookupError):
        l.pop()
    for i in range(1,4):
        l.append(i)
    assert l._size == 3
    assert l.pop() == 1
    assert l.head.value == 2
    assert l.tail.value == 3
    assert l._size == 2
    assert l.pop() == 2
    assert l.head.value == 3
    assert l.tail.value == 3
    assert l._size == 1
Esempio n. 3
0
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
Esempio n. 4
0
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_pop():
    from double_linked import DoubleLinkedList
    new_list = DoubleLinkedList(LIST_INPUT)
    new_list.pop()
    assert new_list.pop() == 8
def test_pop():
    from double_linked import DoubleLinkedList
    new_list = DoubleLinkedList(LIST_INPUT)
    new_list.pop()
    assert new_list.pop() == 8