コード例 #1
0
ファイル: test_tree.py プロジェクト: belm0/extradict
def test_node_delete_root_two_branches():
    n = PlainNode(0)
    n.insert(5)
    n.insert(-5)
    n.delete(0)
    assert n.value in (5, -5)
    assert bool(n.left) ^ bool(n.right)
コード例 #2
0
ファイル: test_tree.py プロジェクト: belm0/extradict
def test_node_delete_root_one_branch():
    n = PlainNode(0)
    n.insert(5)
    n.delete(0)
    assert n.value == 5
    assert n.depth == 1
    assert not n.left and not n.right
コード例 #3
0
ファイル: test_tree.py プロジェクト: belm0/extradict
def test_node_delete_non_existing_value():
    n = PlainNode(0)
    n.insert(5)
    n.insert(10)
    n.insert (3)
    n.insert(-5)
    with pytest.raises(KeyError):
        n.delete(7)
コード例 #4
0
ファイル: test_tree.py プロジェクト: belm0/extradict
def test_node_delete_branch_left():
    n = PlainNode(0)
    n.insert(5)
    n.insert(3)
    n.delete(5)
    assert n.value is 0
    assert n.right.value == 3
    assert n.right.depth == 1
    assert not n.right.left and not n.right.right
コード例 #5
0
ファイル: test_tree.py プロジェクト: belm0/extradict
def test_node_delete_branch_2_leaves():
    n = PlainNode(0)
    n.insert(5)
    n.insert(10)
    n.insert (3)
    n.delete(5)
    assert n.value is 0
    assert n.right.value in (10, 3)
    assert n.right.depth == 2
    assert n.right.left and n.right.left.value == 3 or n.right.right and n.right.right.value == 10
    assert bool(n.right.left) ^ bool(n.right.right)
コード例 #6
0
ファイル: test_tree.py プロジェクト: belm0/extradict
def test_node_delete_root_single_node():
    n = PlainNode(0)
    assert not(n.delete(0))
コード例 #7
0
ファイル: test_tree.py プロジェクト: belm0/extradict
def test_node_delete_leaf():
    n = PlainNode(0)
    n.insert(5)
    n.delete(5)
    assert not n.right
    assert not n.left