from = HL_cantor_xy(x1,y1);
to = HL_cantor_xy(x2,y2);
- HL_astar_init(p);
+ HL_astar_clear(p);
p->start = from;
p->goal = to;
ok(p->error == 0, "found path from (%02d, %02d) to (%02d, %02d) with no error",
x1, y1, x2, y2);
ok(dist == expect,
- "found path from (%02d, %02d) to (%02d, %02d) path length = %d (expect %d)\n",
+ "found path from (%02d, %02d) to (%02d, %02d) path length = %d (expect %d)",
x1, y1, x2, y2, dist, expect);
}
+/* make hex 55 missing */
+int neighbor55(int hex, int dir) {
+ int neighbor;
+
+ neighbor = HL_adjacent_hex(hex, dir);
+ if (neighbor == HL_cantor_xy(5,5)) {
+ return -1;
+ }
+
+ return neighbor;
+}
+
int main(void) {
struct HL_astar *p;
int length;
- plan_tests(15);
+ plan_tests(17);
p = HL_astar_init(0);
ok(p != NULL, "allocated astar struct");
pcheck(p, 1,1, 3,1, 2);
pcheck(p, 1,1, 4,7, 8);
+ HL_astar_clear(p);
+ p->neighbor = neighbor55;
+ pcheck(p,5,4,5,6,3);
+
HL_astar_free(p);
return exit_status();