+static void test_shortcut1(void)
+{
+ struct shortcut1_graph s1g;
+ aga_icost_t cost;
+ struct aga_node *node;
+
+ shortcut1_graph_init(&s1g);
+
+ ok1(aga_dijkstra_start(&s1g.sg.g, &s1g.sg.nodes[1]) == 0);
+ ok1(aga_dijkstra_path(&s1g.sg.g, &s1g.sg.nodes[3],
+ &cost, &node, NULL));
+ ok1(cost == 2);
+ ok1(node == &s1g.sg.nodes[2]);
+ ok1(aga_dijkstra_path(&s1g.sg.g, &s1g.sg.nodes[2],
+ &cost, &node, NULL));
+ ok1(cost == 1);
+ ok1(node == &s1g.sg.nodes[1]);
+ aga_finish(&s1g.sg.g);
+}
+
+static void test_shortcut2(void)
+{
+ struct shortcut2_graph s2g;
+
+ shortcut2_graph_init(&s2g);
+
+ ok1(aga_dijkstra_start(&s2g.sg.g, &s2g.sg.nodes[1]) == 0);
+ aga_dijkstra_all_paths(&s2g.sg.g);
+ ok1(aga_error(&s2g.sg.g) == AGA_ERR_NEGATIVE_COST);
+ aga_finish(&s2g.sg.g);
+}
+