def test_del_edge():
    from simple_graph import SimpleGraph
    instance = SimpleGraph()
    instance.add_edge('waffles', 'waffles2')
    instance.add_edge('waffles', 'waffles3')
    instance.del_edge('waffles', 'waffles2')
    assert instance.graph_dict['waffles'] == {'waffles3': 1}
def test_sg_del_edge():
    """Ensure supplied edge is deleted from appropriate node."""
    from simple_graph import SimpleGraph
    test_sg = SimpleGraph()
    test_sg.add_edge("B", "c")
    test_sg.del_edge("B", "c")
    assert ("B", "c") not in test_sg.edges()
def test_sg_del_edge_error():
    """Ensure del_edge throws IndexError if called with node not in graph."""
    from simple_graph import SimpleGraph
    test_sg = SimpleGraph()
    test_sg.add_edge("a", "b")
    with pytest.raises(IndexError) as message:
        test_sg.del_edge("c", "b")
    assert "That edge is not in the graph." in str(message)
def test_del_edge_key_error():
    from simple_graph import SimpleGraph
    new_graph = SimpleGraph()
    new_graph.graph = {'A': {'A': 10, 'B': 25}}
    with pytest.raises(KeyError):
        new_graph.del_edge('G', 'C')
def test_del_edge_val_error():
    from simple_graph import SimpleGraph
    new_graph = SimpleGraph()
    new_graph.graph = {'A': {'A': 10, 'B': 25}}
    with pytest.raises(ValueError):
        new_graph.del_edge('A', 'E')
def test_del_edge():
    from simple_graph import SimpleGraph
    new_graph = SimpleGraph()
    new_graph.graph = {'A': {'A': 10, 'B': 25}}
    new_graph.del_edge('A', 'B')
    assert new_graph.graph == {'A': {'A': 10}}
def test_del_non_existent_node2():
    from simple_graph import SimpleGraph
    instance = SimpleGraph()
    instance.add_node("waffles")
    with pytest.raises(ValueError):
        instance.del_edge('waffles', 'waffles2')
def test_del_non_existent_node1():
    from simple_graph import SimpleGraph
    instance = SimpleGraph()
    with pytest.raises(KeyError):
        instance.del_edge('waffles', 'waffles2')