64 lines
1.5 KiB
C
64 lines
1.5 KiB
C
// vim:fileencoding=utf-8:foldmethod=marker
|
|
|
|
#include "wapp.h"
|
|
#include "test_queue.h"
|
|
|
|
wapp_persist Allocator arena = {0};
|
|
wapp_persist I32Queue queue;
|
|
|
|
TestFuncResult test_queue_push_back(void) {
|
|
arena = wapp_mem_arena_allocator_init(MB(64));
|
|
|
|
b8 result = true;
|
|
queue = wapp_queue_alloc(i32, &arena, 64);
|
|
|
|
result = result && queue.items != NULL && wapp_queue_capacity(&queue) == 64 && wapp_queue_count(&queue) == 0;
|
|
|
|
i32 n1 = 1;
|
|
i32 n2 = 2;
|
|
i32 n3 = 3;
|
|
i32 n4 = 4;
|
|
i32 n5 = 5;
|
|
|
|
wapp_queue_push_back(i32, &queue, &n1);
|
|
result = result && wapp_queue_count(&queue) == 1;
|
|
|
|
wapp_queue_push_back(i32, &queue, &n2);
|
|
result = result && wapp_queue_count(&queue) == 2;
|
|
|
|
wapp_queue_push_back(i32, &queue, &n3);
|
|
result = result && wapp_queue_count(&queue) == 3;
|
|
|
|
wapp_queue_push_back(i32, &queue, &n4);
|
|
result = result && wapp_queue_count(&queue) == 4;
|
|
|
|
wapp_queue_push_back(i32, &queue, &n5);
|
|
result = result && wapp_queue_count(&queue) == 5;
|
|
|
|
return wapp_tester_result(result);
|
|
}
|
|
|
|
TestFuncResult test_queue_pop_front(void) {
|
|
b8 result = true;
|
|
i32 num;
|
|
|
|
wapp_queue_pop_front(i32, &queue, &num);
|
|
result = result && num == 1;
|
|
|
|
wapp_queue_pop_front(i32, &queue, &num);
|
|
result = result && num == 2;
|
|
|
|
wapp_queue_pop_front(i32, &queue, &num);
|
|
result = result && num == 3;
|
|
|
|
wapp_queue_pop_front(i32, &queue, &num);
|
|
result = result && num == 4;
|
|
|
|
wapp_queue_pop_front(i32, &queue, &num);
|
|
result = result && num == 5;
|
|
|
|
wapp_mem_arena_allocator_destroy(&arena);
|
|
|
|
return wapp_tester_result(result);
|
|
}
|