示例#1
0
def test_delete_node(cur, nd1, nd2_1, nd2_1_1, nd2_leaf):
    """
        Tree layout before delete:
        /
          - nd1
            - nd2-1
              - nd2-1-1
                - nd2-leaf
          - nd2
          - nd3

        Expected tree layout after move:
        /
          - nd1
            - nd2-1
          - nd2
          - nd3
    """
    delete_node(cur, nd2_1_1, auto_position=False)

    # Deleted node doesn't exist anymore
    with pytest.raises(ValueError):
        get_node(cur, nd2_1_1.id)

    # nd2-1 has no children and no descendants
    assert set(get_child_ids(cur, nd2_1)) == set()
    assert set(get_child_ids(cur, nd2_1_1)) == set()
    assert set(get_descendant_ids(cur, nd2_1)) == set()

    # nd1 just contains nd2-1
    assert set(get_child_ids(cur, nd1)) == {nd2_1.id}
    assert set(get_descendant_ids(cur, nd1)) == {nd2_1.id}

    # Ancestor and descendant sets of nd2-1-1 and nd2-leaf are empty
    # (or raise error in the future because they don't exist anymore)
    assert set(get_ancestor_ids(cur, nd2_1_1)) == set()
    assert set(get_ancestor_ids(cur, nd2_leaf)) == set()
    assert set(get_descendant_ids(cur, nd2_1_1)) == set()
    assert set(get_descendant_ids(cur, nd2_leaf)) == set()
示例#2
0
def test_delete_node(cur, nd1, nd2_1, nd2_1_1, nd2_leaf):
    """
        Tree layout before delete:
        /
          - nd1
            - nd2-1
              - nd2-1-1
                - nd2-leaf
          - nd2
          - nd3

        Expected tree layout after move:
        /
          - nd1
            - nd2-1
          - nd2
          - nd3
    """
    delete_node(cur, nd2_1_1, auto_position=False)

    # Deleted node doesn't exist anymore
    with pytest.raises(exceptions.NodeNotFound):
        get_node(cur, nd2_1_1.id)

    # nd2-1 has no children and no descendants
    assert set(get_child_ids(cur, nd2_1)) == set()
    assert set(get_child_ids(cur, nd2_1_1)) == set()
    assert set(get_descendant_ids(cur, nd2_1)) == set()

    # nd1 just contains nd2-1
    assert set(get_child_ids(cur, nd1)) == {nd2_1.id}
    assert set(get_descendant_ids(cur, nd1)) == {nd2_1.id}

    # Ancestor and descendant sets of nd2-1-1 and nd2-leaf are empty
    # (or raise error in the future because they don't exist anymore)
    assert set(get_ancestor_ids(cur, nd2_1_1)) == set()
    assert set(get_ancestor_ids(cur, nd2_leaf)) == set()
    assert set(get_descendant_ids(cur, nd2_1_1)) == set()
    assert set(get_descendant_ids(cur, nd2_leaf)) == set()
示例#3
0
def test_get_child_ids_correct_positioning(cur, root, nd1, nd2, nd3):
    ids = list(get_child_ids(cur, root))
    expected = [nd1.id, nd2.id, nd3.id]
    assert ids == expected
示例#4
0
def test_get_child_ids(cur, root, nd1, nd2, nd3):
    ids = set(get_child_ids(cur, root))
    assert len(ids) == 3
    assert nd1.id in ids
    assert nd2.id in ids
    assert nd3.id in ids
示例#5
0
def test_delete_node_by_id(cur, nd1, nd2_1):
    delete_node(cur, nd2_1.id, auto_position=True)

    assert set(get_child_ids(cur, nd1)) == set()
示例#6
0
def test_delete_node_by_id(cur, nd1, nd2_1):
    delete_node(cur, nd2_1.id, auto_position=True)

    assert set(get_child_ids(cur, nd1)) == set()
示例#7
0
def test_get_child_ids_correct_positioning(cur, root, nd1, nd2, nd3):
    ids = list(get_child_ids(cur, root))
    expected = [nd1.id, nd2.id, nd3.id]
    assert ids == expected
示例#8
0
def test_get_child_ids(cur, root, nd1, nd2, nd3):
    ids = set(get_child_ids(cur, root))
    assert len(ids) == 3
    assert nd1.id in ids
    assert nd2.id in ids
    assert nd3.id in ids