/* Iteration tests */ #include "test.h" int main(void) { vhash *data, *h; viter i, j; varray *a; int count; vqueue *q; vfunc *f; vlist *l; TEST_START("iter"); TEST_NOFAIL("reading test data", (data = v_thaw_file(TEST_INPUT)) != NULL); count = 0; if ((l = vh_pget(data, "LIST")) != NULL) { v_iterate(l, i) { count++; if (debug_flag) printf("%d => %s\n", v_iter_count(i), vl_iter_sval(i)); } } TEST("list", count == 3); count = 0; if ((h = vh_pget(data, "HASH")) != NULL) { v_iterate(h, i) { v_iterate(h, j) { count++; if (debug_flag) printf("%d %d\n", v_iter_count(i), v_iter_count(j)); } } } TEST("hash", count == 9); count = 0; if ((f = vh_pget(data, "FUNC")) != NULL) { v_iterate(f, i) { count++; if (debug_flag) printf("%g => %g\n", vf_iter_x(i), vf_iter_fx(i)); } } TEST("func", count == 7); count = 0; if ((a = vh_pget(data, "ARRAY")) != NULL) { v_iterate(a, i) { count++; if (debug_flag) printf("%g => %s\n", va_iter_x(i), va_iter_sval(i)); } } TEST("array", count == 4); count = 0; if ((q = vh_pget(data, "QUEUE")) != NULL) { v_iterate(q, i) { count++; if (debug_flag) printf("%g => %s\n", vq_iter_priority(i), vq_iter_sval(i)); } } TEST("queue", count == 5); TEST_FINISH; }