X-Git-Url: https://pd.if.org/git/?p=hexagon;a=blobdiff_plain;f=t%2Fastar.c;h=729a7a864f8863391d453f8736a76f8bdd3ae482;hp=af88268d4212af1c23484843108e5aeeb4144d81;hb=ce4fd67e5bfd07192ca5cb357798aaa3588512e4;hpb=5c48a06bc8649958e69013c53e925b83398ebc74 diff --git a/t/astar.c b/t/astar.c index af88268..729a7a8 100644 --- a/t/astar.c +++ b/t/astar.c @@ -1,8 +1,8 @@ #include -#include "hexmap.h" +#include "hexagon.h" -#include "tap.h" +#include "ctap.h" void pcheck(struct HL_astar *p, int x1, int y1, int x2, int y2, int expect) { int from, to, dist; @@ -10,7 +10,7 @@ void pcheck(struct HL_astar *p, int x1, int y1, int x2, int y2, int expect) { from = HL_cantor_xy(x1,y1); to = HL_cantor_xy(x2,y2); - HL_astar_clear(p); +// HL_astar_clear(p); p->start = from; p->goal = to; @@ -27,19 +27,17 @@ void pcheck(struct HL_astar *p, int x1, int y1, int x2, int y2, int expect) { int neighbor55(int hex, int dir) { int neighbor; - neighbor = HL_adjacent_hex(hex, dir); - if (neighbor == HL_cantor_xy(5,5)) { - return -1; - } + do { + neighbor = HL_adjacent_hex(hex, dir++); + } while (neighbor == HL_cantor_xy(5,5)); return neighbor; } int main(void) { struct HL_astar *p; - int length; - plan_tests(17); + plan(16); p = HL_astar_init(0); ok(p != NULL, "allocated astar struct"); @@ -47,23 +45,22 @@ int main(void) { ok(p->open == NULL, "initial open list empty"); ok(p->closed == NULL, "initial closed list empty"); - p->start = HL_cantor_xy(1, 1); - p->goal = HL_cantor_xy(1, 2); - - length = HL_findpath(p, 0); - ok(p->error == 0, "path finding returns no error"); - pcheck(p, 1,1, 1,3, 2); + HL_astar_init(p); pcheck(p, 1,1, 2,1, 1); + HL_astar_init(p); pcheck(p, 1,1, 2,2, 2); + HL_astar_init(p); pcheck(p, 1,1, 3,1, 2); + HL_astar_init(p); pcheck(p, 1,1, 4,7, 8); - HL_astar_clear(p); + //HL_astar_clear(p); + HL_astar_init(p); p->neighbor = neighbor55; pcheck(p,5,4,5,6,3); HL_astar_free(p); - return exit_status(); + return 0; }