def test_all_simple_paths_with_cutoff(self): dag = retworkx.PyDAG() for i in range(6): dag.add_node(i) dag.add_edges_from_no_data(self.edges) paths = retworkx.digraph_all_simple_paths(dag, 0, 5, cutoff=4) expected = [[0, 2, 4, 5], [0, 3, 4, 5]] self.assertEqual(len(expected), len(paths)) for i in expected: self.assertIn(i, paths)
def test_all_simple_paths(self): dag = retworkx.PyDAG() for i in range(6): dag.add_node(i) dag.add_edges_from_no_data(self.edges) paths = retworkx.digraph_all_simple_paths(dag, 0, 5) expected = [[0, 1, 2, 3, 4, 5], [0, 1, 2, 4, 5], [0, 1, 3, 2, 4, 5], [0, 1, 3, 4, 5], [0, 2, 3, 4, 5], [0, 2, 4, 5], [0, 3, 2, 4, 5], [0, 3, 4, 5]] for i in expected: self.assertIn(i, paths)
def test_all_simple_path_invalid_node_index(self): dag = retworkx.PyDAG() dag.add_node(0) dag.add_node(1) with self.assertRaises(retworkx.InvalidNode): retworkx.digraph_all_simple_paths(dag, 0, 5)
def test_all_simple_path_no_path(self): dag = retworkx.PyDAG() dag.add_node(0) dag.add_node(1) self.assertEqual([], retworkx.digraph_all_simple_paths(dag, 0, 1))