def test_df_two_nodes():
    from simple_graph import Graph
    graph = Graph()
    graph.add_node('a')
    graph.add_node('b')
    graph.add_edge('a', 'b')
    assert graph.depth_first('a') == ['a', 'b']
def test_df_two_nodes():
    from simple_graph import Graph
    graph = Graph()
    graph.add_node('a')
    graph.add_node('b')
    graph.add_edge('a', 'b')
    assert graph.depth_first('a') == ['a', 'b']
def test_df_three_nodes():
    """Test if depth first with four nodes."""
    from simple_graph import Graph
    graph = Graph()
    graph.add_node('a')
    graph.add_node('b')
    graph.add_node('d')
    graph.add_edge('a', 'b')
    graph.add_node('c')
    graph.add_edge('b', 'c')
    graph.add_edge('b', 'd')
    assert graph.depth_first('a') == ['a', 'b', 'c', 'd']
def test_df_three_nodes():
    """Test if depth first with four nodes."""
    from simple_graph import Graph
    graph = Graph()
    graph.add_node('a')
    graph.add_node('b')
    graph.add_node('d')
    graph.add_edge('a', 'b')
    graph.add_node('c')
    graph.add_edge('b', 'c')
    graph.add_edge('b', 'd')
    assert graph.depth_first('a') == ['a', 'b', 'c', 'd']
def test_df_three_nodes_complex():
    """Test depth first with even more nodes."""
    from simple_graph import Graph
    graph = Graph()
    graph.add_node('a')
    graph.add_node('b')
    graph.add_node('c')
    graph.add_node('d')
    graph.add_edge('a', 'c')
    graph.add_edge('a', 'd')
    graph.add_edge('b', 'c')
    graph.add_edge('b', 'a')
    graph.add_edge('d', 'b')
    assert graph.depth_first('a') == ['a', 'c', 'd', 'b']
def test_df_three_nodes_complex():
    """Test depth first with even more nodes."""
    from simple_graph import Graph
    graph = Graph()
    graph.add_node('a')
    graph.add_node('b')
    graph.add_node('c')
    graph.add_node('d')
    graph.add_edge('a', 'c')
    graph.add_edge('a', 'd')
    graph.add_edge('b', 'c')
    graph.add_edge('b', 'a')
    graph.add_edge('d', 'b')
    assert graph.depth_first('a') == ['a', 'c', 'd', 'b']
def test_df_non_cycle():
    """Test if graph is traversed."""
    from simple_graph import Graph
    graph = Graph()
    graph.add_node('a')
    assert graph.depth_first('a') == ['a']
def test_df_non_cycle():
    """Test if graph is traversed."""
    from simple_graph import Graph
    graph = Graph()
    graph.add_node('a')
    assert graph.depth_first('a') == ['a']