@@ -39,17 +39,17 @@ def test_dfs_directed_graph(self):
3939 self .assertEqual (len (DFS (self .digr , "c" )), 7 )
4040 self .assertEqual (len (DFS (self .digr , "f" )), 1 )
4141
42- def test_shortest_path_undirected_graph (self ):
43- self .assertEqual (shortest_path (self .gr , "s" )["c" ], 2 )
44- self .assertEqual (shortest_path (self .gr , "c" )["s" ], 2 )
45- self .assertEqual (shortest_path (self .gr , "s" )["s" ], 0 )
46- self .assertEqual (shortest_path (self .gr , "c" )["j" ], float ('inf' ))
42+ def test_shortest_hops_undirected_graph (self ):
43+ self .assertEqual (shortest_hops (self .gr , "s" )["c" ], 2 )
44+ self .assertEqual (shortest_hops (self .gr , "c" )["s" ], 2 )
45+ self .assertEqual (shortest_hops (self .gr , "s" )["s" ], 0 )
46+ self .assertEqual (shortest_hops (self .gr , "c" )["j" ], float ('inf' ))
4747
48- def test_shortest_path_directed_graph (self ):
49- self .assertEqual (shortest_path (self .digr , "s" )["f" ], 3 )
50- self .assertEqual (shortest_path (self .digr , "f" )["s" ], float ('inf' ))
51- self .assertEqual (shortest_path (self .digr , "s" )["s" ], 0 )
52- self .assertEqual (shortest_path (self .digr , "s" )["c" ], float ('inf' ))
48+ def test_shortest_hops_directed_graph (self ):
49+ self .assertEqual (shortest_hops (self .digr , "s" )["f" ], 3 )
50+ self .assertEqual (shortest_hops (self .digr , "f" )["s" ], float ('inf' ))
51+ self .assertEqual (shortest_hops (self .digr , "s" )["s" ], 0 )
52+ self .assertEqual (shortest_hops (self .digr , "s" )["c" ], float ('inf' ))
5353
5454 def test_undirected_connected_component (self ):
5555 self .assertEqual (len (undirected_connected_components (self .gr )), 3 )
@@ -79,5 +79,26 @@ def test_directed_connected_components(self):
7979 digr2 .add_edges ([("h" , "j" ), ("j" , "k" ), ("k" , "h" )])
8080 self .assertEqual (len (directed_connected_components (digr2 )), 4 )
8181
82+ def test_shortest_path_in_directed_graph (self ):
83+ digr = digraph ()
84+ digr .add_nodes (["a" , "b" , "c" , "d" , "e" , "f" ])
85+ digr .add_edge (("a" , "b" ), 7 )
86+ digr .add_edge (("a" , "c" ), 9 )
87+ digr .add_edge (("a" , "f" ), 14 )
88+ digr .add_edge (("f" , "e" ), 9 )
89+ digr .add_edge (("c" , "f" ), 2 )
90+ digr .add_edge (("c" , "d" ), 11 )
91+ digr .add_edge (("b" , "c" ), 10 )
92+ digr .add_edge (("b" , "d" ), 15 )
93+ digr .add_edge (("d" , "e" ), 6 )
94+ self .assertEqual (shortest_path (digr , "a" )["a" ], 0 )
95+ self .assertEqual (shortest_path (digr , "a" )["b" ], 7 )
96+ self .assertEqual (shortest_path (digr , "a" )["c" ], 9 )
97+ self .assertEqual (shortest_path (digr , "a" )["d" ], 20 )
98+ self .assertEqual (shortest_path (digr , "a" )["e" ], 20 )
99+ self .assertEqual (shortest_path (digr , "a" )["f" ], 11 )
100+
101+
102+
82103if __name__ == "__main__" :
83104 unittest .main ()
0 commit comments