Files
commandergenius/project/jni/glshim/test/tests/util/tack.c
2015-02-09 20:25:03 +00:00

31 lines
764 B
C

int main() {
tack_t stack = {0};
tack_push(&stack, 1);
assert(tack_peek(&stack) == 1);
assert(tack_len(&stack) == 1);
tack_push(&stack, 2);
tack_push(&stack, 3);
assert(tack_get(&stack, 0) == 1);
assert(tack_peek(&stack) == 3);
assert(tack_pop(&stack) == 3);
assert(tack_peek(&stack) == 2);
tack_clear(&stack);
assert(tack_len(&stack) == 0);
for (int i = 0; i < 10000; i++) {
tack_push(&stack, i);
assert(tack_peek(&stack) == i);
}
for (int i = 0; i < 10000; i++) {
assert(tack_shift(&stack) == i);
}
tack_clear(&stack);
tack_set(&stack, 1, "test");
assert(tack_get(&stack, 0) == NULL);
assert(strcmp(tack_get(&stack, 1), "test") == 0);
mock_return;
}