#include "test_arena.h" #include "aliases.h" #include "mem_arena.h" #include "tester.h" #include #include #define ARENA_CAPACITY 1024 internal Arena *arena = NULL; internal u64 count = 20; internal i32 *array = NULL; TestFuncResult test_arena_init(void) { bool result = wapp_mem_arena_init_default(&arena, ARENA_CAPACITY); return TEST_RESULT(result); } TestFuncResult test_arena_alloc_succeeds_when_within_capacity(void) { array = wapp_mem_arena_alloc(arena, count * sizeof(i32)); bool result = array != NULL; for (u64 i = 0; i < count; ++i) { array[i] = i * 10; } return TEST_RESULT(result); } TestFuncResult test_arena_alloc_fails_when_over_capacity(void) { u8 *bytes = wapp_mem_arena_alloc(arena, ARENA_CAPACITY * 2); bool result = bytes == NULL; return TEST_RESULT(result); } TestFuncResult test_arena_clear(void) { wapp_mem_arena_clear(arena); bool result = true; for (u64 i = 0; i < count; ++i) { if (array[i] != 0) { result = false; break; } } return TEST_RESULT(result); } TestFuncResult test_arena_destroy(void) { wapp_mem_arena_destroy(&arena); bool result = arena == NULL; return TEST_RESULT(result); }