def test_direct_graph(self): edges = [(0, 1), (0, 2), (1, 2), (2, 0), (2, 3), (3, 3)] graph = prepare_direct_graph(edges) assert [2, 3, 0, 1] == dfs_iterative(graph, 2), "Order of vertex visiting is wrong"
def test_direct_graph_2(self): edges = [(1, 2), (2, 5), (2, 4), (4, 6), (4, 5), (5, 3), (3, 1)] graph = prepare_direct_graph(edges) assert [1, 2, 5, 3, 4, 6] == dfs_iterative(graph, 1), "Order of vertex visiting is wrong"
def test_direct_graph_3(self): edges = [(1, 0), (0, 2), (2, 1), (0, 3), (1, 4)] graph = prepare_direct_graph(edges) assert [0, 3, 2, 1, 4] == dfs_iterative(graph, 0), "Order of vertex visiting is wrong"
def test_direct_graph(self): edges = [(0, 1), (0, 2), (2, 3), (1, 3)] graph = prepare_direct_graph(edges) assert False is is_cyclic(graph), "Graph has no cycles"
def __init__(self, edges): self._edges_num = len(edges) self._graph = prepare_direct_graph(edges) self._stack = set() self._ids = [] self._visited = set()
def test_graph(self): graph = prepare_direct_graph([(0, 2), (2, 1), (1, 0), (0, 3), (3, 4)]) assert [[0, 1, 2], [3], [4]] == StronglyConnected( graph).strongly_connected_components(), 'Error in detecting SCC'