static void test_conatiners() { vecint v; vecint_init(&v, 2); // capacity 2, should at least reallocate once vecint_push_back(&v, 0); vecint_push_back(&v, 1); vecint_push_back(&v, 2); vecint_push_back(&v, 3); assert(vecint_pop(&v) == 3); assert(vecint_pop(&v) == 2); assert(vecint_pop(&v) == 1); assert(vecint_pop(&v) == 0); vecint_fini(&v); subtest1(); teststruct c1, c2; c2 = vecstruct_pop(&vs); c1 = vecstruct_pop(&vs); assert(vecstruct_is_empty(&vs)); //fprintf(stdout, "c1: a%u b%u, c2: a%u b%u\n", c1.a, c1.b, c2.a, c2.b); assert(c1.a == 1); assert(c1.b == 2); assert(c2.a == 3); assert(c2.b == 4); vecstruct_fini(&vs); fprintf(stdout, "%s:\tpassed\n", __FUNCTION__); }
int main(void) { OPENTEST(); subtest1(); subtest2(); CLOSETEST(); /* always return OK */ return (0); }
int test() { subtest1(); return subtest2(); }