X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Faga%2Ftest%2Fapi-dijkstra.c;h=01bb5aa4d880f579ea4c60dd3f51a64a14a9657d;hb=318edb2466a24a2eadcfd05fa83ae29c0e8aae03;hp=f9b8d764a7d6e198d23797afa404882b0009e8d6;hpb=09378088f7f49f30cb61435712a8dc2e52a32f69;p=ccan diff --git a/ccan/aga/test/api-dijkstra.c b/ccan/aga/test/api-dijkstra.c index f9b8d764..01bb5aa4 100644 --- a/ccan/aga/test/api-dijkstra.c +++ b/ccan/aga/test/api-dijkstra.c @@ -241,17 +241,29 @@ static void test_shortcut2(void) shortcut2_graph_init(&s2g); ok1(aga_dijkstra_start(&s2g.sg.g, &s2g.sg.nodes[1]) == 0); - aga_dijkstra_all_paths(&s2g.sg.g); + aga_dijkstra_complete(&s2g.sg.g); ok1(aga_error(&s2g.sg.g) == AGA_ERR_NEGATIVE_COST); aga_finish(&s2g.sg.g); } +static void test_negacycle(void) +{ + struct negacycle_graph ng; + + negacycle_graph_init(&ng); + + ok1(aga_dijkstra_start(&ng.sg.g, &ng.sg.nodes[1]) == 0); + aga_dijkstra_complete(&ng.sg.g); + ok1(aga_error(&ng.sg.g) == AGA_ERR_NEGATIVE_COST); + aga_finish(&ng.sg.g); +} + int main(void) { plan_tests(7 + 20 + FULL_LEN * (1 + FULL_LEN*4) + CHAIN_LEN * (1 + CHAIN_LEN*2) - + 12 + 32 + 7 + 2); + + 12 + 32 + 7 + 2 + 2); test_trivial(); test_parallel(); @@ -261,6 +273,7 @@ int main(void) test_traversal1(); test_shortcut1(); test_shortcut2(); + test_negacycle(); return exit_status(); }