From 3845d3238ec29e2be7eaf1aa6be5245eb794582d Mon Sep 17 00:00:00 2001 From: Alex 'AdUser' Z Date: Tue, 7 Feb 2017 22:50:14 +1000 Subject: [PATCH] + tests --- tests/filelist.c | 46 +++++++++++++++++++++++++++++++++++++++++++++ tests/group.c | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 tests/filelist.c create mode 100644 tests/group.c diff --git a/tests/filelist.c b/tests/filelist.c new file mode 100644 index 0000000..bd80507 --- /dev/null +++ b/tests/filelist.c @@ -0,0 +1,46 @@ +#include +#include +#include +#include +#include + +#include "../src/filelist.h" + +int main() { + filelist_t *list = NULL; + int ret = 0; + + list = filelist_create(0); + + assert(list != NULL); + assert(list->size == 0); + assert(list->caps == 0); + assert(list->files == NULL); + + ret = filelist_append(list, "test"); + assert(ret == 1); + assert(list->size == 1); + assert(list->caps >= list->size); + assert(list->files != NULL); + assert(strcmp(list->files[0], "test") == 0); + + filelist_del(list, 1); + assert(list->size == 0); + assert(list->caps >= list->size); + + /* trigger list expand */ + for (int i = list->caps; i >= 0; i--) { + ret = filelist_append(list, "test"); + assert(ret > 0); + } + + filelist_set(list, 17, "test2"); + filelist_set(list, 17, "test3"); + + filelist_free(list); + assert(list->size == 0); + assert(list->caps == 0); + free(list); + + return EXIT_SUCCESS; +} diff --git a/tests/group.c b/tests/group.c new file mode 100644 index 0000000..79b9dca --- /dev/null +++ b/tests/group.c @@ -0,0 +1,49 @@ +#include +#include +#include +#include +#include + +#include "../src/group.h" + +int main() { + group_t *group; + bool ret; + + group = group_create(7, 0); + assert(group != NULL); + assert(group->num == 7); + assert(group->ids == NULL); + assert(group->caps == 0); + assert(group->size == 0); + + ret = group_append(group, 17); + assert(ret == true); + assert(group->size == 1); + assert(group->caps >= group->size); + assert(group->ids != NULL); + + ret = group_append(group, 19); + assert(ret == true); + assert(group->size == 2); + + ret = group_append(group, 21); + assert(ret == true); + assert(group->size == 3); + + ret = group_append(group, 17); /* duplicate */ + assert(ret == true); + assert(group->size == 3); + + /* trigger group expand */ + for (int i = group->caps, n = 46; i >= 0; i--, n++) + group_append(group, n); + + group_free(group); + assert(group->size == 0); + assert(group->caps == 0); + + free(group); + + return EXIT_SUCCESS; +}