def test_append_in_slinked_list():
    slinked_list = SinglyLinkedList()
    slinked_list.append(1)
    slinked_list.append(2)
    slinked_list.append(3)
    slinked_list.append(4)
    assert len(slinked_list) == 4
def test_get_an_preorder_list_using_data_structure_list(bst):
    """
      trying to implement a different design for in preorder
      WIP IDEA
    """
    singly_linked_list = SinglyLinkedList()
    bst.insert(10)
    bst.insert(4)
    bst.insert(1)
    bst.insert(5)
    bst.insert(11)
    bst.insert(14)

    for data in [10, 4, 1, 5, 11, 14]:
        singly_linked_list.append(data)

    preorder_linked_list = bst.pre_order()

    # compare itens
    # TODO I think this compare was too hard to understand refactor this
    has_equal_values = all(
        map(
            lambda x: x[0] == x[1],
            zip(singly_linked_list, preorder_linked_list),  # noqa
        )  # noqa
    )

    assert has_equal_values is True
コード例 #3
0
def test_append_with_tail_flag():
    singly_linked_list = SinglyLinkedList()
    singly_linked_list.append(1, tail=True)
    assert len(singly_linked_list) == 1
    assert singly_linked_list._head.value == 1
    singly_linked_list.append(7, tail=True)
    assert len(singly_linked_list) == 2
    assert singly_linked_list._head.next.value == 7
def test_get_an_inorder_list_using_data_structure_list(bst):
    """
      trying to implement a different design for in order
      WIP IDEA
    """
    singly_linked_list = SinglyLinkedList()
    bst.insert(8)
    bst.insert(10)
    bst.insert(3)
    bst.insert(1)
    bst.insert(4)

    singly_linked_list.append(1, first=True)
    singly_linked_list.append(3, first=False, tail=True)
    singly_linked_list.append(4, first=False, tail=True)
    singly_linked_list.append(8, first=False, tail=True)
    singly_linked_list.append(10, first=False, tail=True)

    inorder_linked_list = bst.inorder()

    # compare itens
    # TODO I think this compare was too hard to understand refactor this
    has_equal_values = all(
        map(
            lambda x: x[0] == x[1],
            zip(singly_linked_list, inorder_linked_list)  # noqa
        )  # noqa
    )

    assert has_equal_values is True
コード例 #5
0
def test_merge_sort():
    l = SinglyLinkedList()  # noqa
    l.append(6)
    l.append(1)
    l.append(2)
    l.append(4)
    l.append(8)
    l.append(9)
    l.append(5)
    l.append(7)
    l.append(3)
    l = l.sort(reverse=True)  # noqa
    list_to_compare = [9, 8, 7, 6, 5, 4, 3, 2, 1]

    has_equal_values = all(map(lambda x: x[0] == x[1],
                               zip(l, list_to_compare)))  # noqa
    assert has_equal_values is True
コード例 #6
0
def test_linked_list_append_node():
    singly_linked_list = SinglyLinkedList()
    singly_linked_list.append(1)
    assert len(singly_linked_list) == 1
    singly_linked_list.append(3)
    assert singly_linked_list._head.value == 3
    assert singly_linked_list._head.next.value == 1
    assert len(singly_linked_list) == 2
    singly_linked_list.append(5)
    singly_linked_list.append(7, tail=True)
    assert singly_linked_list._head.value == 5
    assert singly_linked_list._head.next.next.next.value == 7
def test_remove_duplicate_nodes():
    slinked_list = SinglyLinkedList()
    assert len(slinked_list) == len(remove_duplicates(slinked_list))

    slinked_list.append(1)
    slinked_list.append(2)
    slinked_list.append(3)
    slinked_list.append(3)
    slinked_list.append(4)
    assert [4, 3, 2, 1] == [item for item in remove_duplicates(slinked_list)]