def test_LinkedList___repr__(self):
        l1 = LinkedList()
        l1.insert(0)
        l1.insert(1)
        l1.insert(2)

        self.assertEquals(l1.__repr__(), "(2, 1, 0)")
示例#2
0
class Queue:
    def __init__(self):
        self.llist = LinkedList()

    def enqueue(self, value):
        self.llist.add(value)

    def dequeue(self):
        return self.llist.removeFirst()

    def peek(self):
        return self.llist.peekFirst()

    def __len__(self):
        return len(self.llist)

    def isEmpty(self):
        return self.llist.isEmpty()

    def __repr__(self):
        return self.llist.__repr__()
class Stack:
    """
	Implementation of stack with linked list
	"""
    def __init__(self):
        self.llist = LinkedList()

    def push(self, value):
        self.llist.addFirst(value)

    def pop(self):
        return self.llist.removeFirst()

    def peek(self):
        return self.llist.peekFirst()

    def __len__(self):
        return len(self.llist)

    def isEmpty(self):
        return self.llist.isEmpty()

    def __repr__(self):
        return self.llist.__repr__()
def test_repr_method():
    """Test __repr__ returns a string."""
    test_linked_list = LinkedList()
    test_linked_list.push(5)
    test_linked_list.push(5)
    assert test_linked_list.__repr__() == '(5, 5)'
def test_remove_first_node_from_list():
    """Remove item not in list raises ValueError."""
    test_linked_list = LinkedList([5, 4, 3, 2, 1])
    removed = test_linked_list.search(5)
    test_linked_list.remove(removed)
    assert test_linked_list.__repr__() == '(1, 2, 3, 4)'
def test_remove_removes_nodes():
    """Removes a node."""
    test_linked_list = LinkedList([1, 2, 3, 4, 5])
    removed = test_linked_list.search(2)
    test_linked_list.remove(removed)
    assert test_linked_list.__repr__() == '(5, 4, 3, 1)'
示例#7
0
        pass
    elif len_ll_1 == max_len:
        # Add leading zeroes to len_ll_2
        number_2 = prepend(number_2, max_len - len_ll_2)
    elif len_ll_2 == max_len:
        # Add leading zeroes to len_ll_2
        number_1 = prepend(number_1, max_len - len_ll_1)

    head_1 = number_1.head
    head_2 = number_2.head
    # We know both numbers are the same length
    node, carryover = add_numbers(head_1, head_2)

    if carryover != 0:
        # Create a carryover in case there is one
        new_node = Node(carryover)
        # append node to new_node
        new_node.next = node
        # make the new node the head
        sum_list.head = new_node
    else:
        sum_list.head = node

    return sum_list


# Comparing strings as they are different pointers
assert reverse_add(number_1,
                   number_2).__repr__() == reverse_answer_ll.__repr__()
assert add(number_3, number_4).__repr__() == answer_ll.__repr__()
示例#8
0
def test_repr():
    l = LinkedList()
    l.insert('Bob')
    l.insert(32)
    l.insert('Things')
    assert l.__repr__() == u"('Things', 32, 'Bob')"