@@ -39,17 +39,17 @@ def test_dfs_directed_graph(self):
39
39
self .assertEqual (len (DFS (self .digr , "c" )), 7 )
40
40
self .assertEqual (len (DFS (self .digr , "f" )), 1 )
41
41
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' ))
47
47
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' ))
53
53
54
54
def test_undirected_connected_component (self ):
55
55
self .assertEqual (len (undirected_connected_components (self .gr )), 3 )
@@ -79,5 +79,26 @@ def test_directed_connected_components(self):
79
79
digr2 .add_edges ([("h" , "j" ), ("j" , "k" ), ("k" , "h" )])
80
80
self .assertEqual (len (directed_connected_components (digr2 )), 4 )
81
81
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
+
82
103
if __name__ == "__main__" :
83
104
unittest .main ()
0 commit comments