def test_node_get_non_existing_element_raises_keyerror(): n = PlainNode(0) n.insert(5) n.insert(10) n.insert(7) with pytest.raises(KeyError) as error: n.get(8) assert True
def test_node_insert_can_create_new(): n = PlainNode(0, "zero") n.insert(5, "five") n.insert(10, "ten") assert n.get(5).value == "five" assert len(n) == 3 n.insert(5, "fake", replace=False) assert n.get(5).value == "five" # Retrieves first inserted value assert len(n) == 4 assert n.get(5).right.left.value == "fake"
def test_node_insert_replaces_value(): n = PlainNode(0, "zero") n.insert(5, "five") n.insert(10, "ten") assert n.get(5) is n.right assert n.get(5).value == "five" assert len(n) == 3 n.insert(5, "fake") assert n.get(5) is n.right assert n.get(5).value == "fake" assert len(n) == 3
def test_node_get_identity_or_value_independs_other_nodes(): n = PlainNode(0, "zero") n.insert(5) n.insert(10, "ten") assert n.get(5).value == 5
def test_node_get_branch_value(): n = PlainNode(0, "zero") n.insert(5, "five") n.insert(10, "ten") assert n.get(5).value == "five"
def test_node_get_branch_identity(): n = PlainNode(0) n.insert(5) n.insert(10) assert n.get(5) is n.right
def test_node_get_leave_value(): n = PlainNode(0, "zero") n.insert(5, "five") assert n.get(5).value == "five"
def test_node_get_leave_identity(): n = PlainNode(0) n.insert(5) assert n.get(5) is n.right
def test_node_get_root_value(): n = PlainNode(0, "zero") assert n.get(0).value == "zero"
def test_node_get_root_identity(): n = PlainNode(0) assert n.get(0) is n