FEAT: Check all paths from a for astar
diff --git a/tests/graph.rs b/tests/graph.rs
index 9dbe400..773a993 100644
--- a/tests/graph.rs
+++ b/tests/graph.rs
@@ -382,6 +382,7 @@
     let d = g.add_node((0., 2.));
     let e = g.add_node((3., 3.));
     let f = g.add_node((4., 2.));
+    let _ = g.add_node((5., 5.)); // no path to node
     g.add_edge(a, b, 2.);
     g.add_edge(a, d, 4.);
     g.add_edge(b, c, 1.);
@@ -390,19 +391,28 @@
     g.add_edge(e, f, 1.);
     g.add_edge(d, e, 1.);
 
-    let path = astar(&g, a, |finish| finish == f, |e| *e.weight(),
-    |node| {
-        let (x1, y1): (f32, f32) = g[node];
-        let (x2, y2): (f32, f32) = g[f];
+    let heuristic_for = |f: NodeIndex| {
+        let g = &g;
+        move |node: NodeIndex| -> f32 {
+            let (x1, y1): (f32, f32) = g[node];
+            let (x2, y2): (f32, f32) = g[f];
 
-        (x2 - x1).abs() + (y2 - y1).abs()
-    });
+            (x2 - x1).abs() + (y2 - y1).abs()
+        }
+    };
+    let path = astar(&g, a, |finish| finish == f, |e| *e.weight(), heuristic_for(f));
 
     assert_eq!(path, Some((6., vec![a, d, e, f])));
 
     // check against dijkstra
-    let dijkstra_run = dijkstra(&g, a, Some(f), |e| *e.weight());
-    assert_eq!(dijkstra_run[&f], 6.);
+    let dijkstra_run = dijkstra(&g, a, None, |e| *e.weight());
+
+    for end in g.node_indices() {
+        let astar_path = astar(&g, a, |finish| finish == end, |e| *e.weight(),
+                               heuristic_for(end));
+        assert_eq!(dijkstra_run.get(&end).cloned(),
+                   astar_path.map(|t| t.0));
+    }
 }
 
 #[cfg(feature = "generate")]