aboutsummaryrefslogtreecommitdiffstats
path: root/tests/common/check_sort.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/common/check_sort.c')
-rw-r--r--tests/common/check_sort.c148
1 files changed, 0 insertions, 148 deletions
diff --git a/tests/common/check_sort.c b/tests/common/check_sort.c
deleted file mode 100644
index f49710c..0000000
--- a/tests/common/check_sort.c
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * blogc: A blog compiler.
- * Copyright (C) 2014-2019 Rafael G. Martins <rafael@rafaelmartins.eng.br>
- *
- * This program can be distributed under the terms of the BSD License.
- * See the file LICENSE.
- */
-
-#include <stdarg.h>
-#include <stddef.h>
-#include <setjmp.h>
-#include <cmocka.h>
-#include <stdlib.h>
-#include <string.h>
-#include "../../src/common/utils.h"
-#include "../../src/common/sort.h"
-
-
-static int
-sort_func(void *a, void *b)
-{
- return strcmp((char*) a, (char*) b);
-}
-
-
-static void
-test_slist_sort_empty(void **state)
-{
- bc_slist_t *l = NULL;
- assert_null(bc_slist_sort(l, (bc_sort_func_t) sort_func));
-}
-
-
-static void
-test_slist_sort_single(void **state)
-{
- bc_slist_t *l = NULL;
- l = bc_slist_append(l, bc_strdup("a"));
-
- l = bc_slist_sort(l, (bc_sort_func_t) sort_func);
-
- assert_non_null(l);
- assert_string_equal(l->data, "a");
- assert_null(l->next);
-
- bc_slist_free_full(l, free);
-}
-
-
-static void
-test_slist_sort_sorted(void **state)
-{
- bc_slist_t *l = NULL;
- l = bc_slist_append(l, bc_strdup("a"));
- l = bc_slist_append(l, bc_strdup("b"));
- l = bc_slist_append(l, bc_strdup("c"));
-
- l = bc_slist_sort(l, (bc_sort_func_t) sort_func);
-
- assert_non_null(l);
- assert_string_equal(l->data, "a");
- assert_string_equal(l->next->data, "b");
- assert_string_equal(l->next->next->data, "c");
- assert_null(l->next->next->next);
-
- bc_slist_free_full(l, free);
-}
-
-
-static void
-test_slist_sort_reverse(void **state)
-{
- bc_slist_t *l = NULL;
- l = bc_slist_append(l, bc_strdup("d"));
- l = bc_slist_append(l, bc_strdup("c"));
- l = bc_slist_append(l, bc_strdup("b"));
- l = bc_slist_append(l, bc_strdup("a"));
-
- l = bc_slist_sort(l, (bc_sort_func_t) sort_func);
-
- assert_non_null(l);
- assert_string_equal(l->data, "a");
- assert_string_equal(l->next->data, "b");
- assert_string_equal(l->next->next->data, "c");
- assert_string_equal(l->next->next->next->data, "d");
- assert_null(l->next->next->next->next);
-
- bc_slist_free_full(l, free);
-}
-
-
-static void
-test_slist_sort_mixed1(void **state)
-{
- bc_slist_t *l = NULL;
- l = bc_slist_append(l, bc_strdup("a"));
- l = bc_slist_append(l, bc_strdup("d"));
- l = bc_slist_append(l, bc_strdup("c"));
- l = bc_slist_append(l, bc_strdup("b"));
-
- l = bc_slist_sort(l, (bc_sort_func_t) sort_func);
-
- assert_non_null(l);
- assert_string_equal(l->data, "a");
- assert_string_equal(l->next->data, "b");
- assert_string_equal(l->next->next->data, "c");
- assert_string_equal(l->next->next->next->data, "d");
- assert_null(l->next->next->next->next);
-
- bc_slist_free_full(l, free);
-}
-
-
-static void
-test_slist_sort_mixed2(void **state)
-{
- bc_slist_t *l = NULL;
- l = bc_slist_append(l, bc_strdup("c"));
- l = bc_slist_append(l, bc_strdup("b"));
- l = bc_slist_append(l, bc_strdup("a"));
- l = bc_slist_append(l, bc_strdup("d"));
-
- l = bc_slist_sort(l, (bc_sort_func_t) sort_func);
-
- assert_non_null(l);
- assert_string_equal(l->data, "a");
- assert_string_equal(l->next->data, "b");
- assert_string_equal(l->next->next->data, "c");
- assert_string_equal(l->next->next->next->data, "d");
- assert_null(l->next->next->next->next);
-
- bc_slist_free_full(l, free);
-}
-
-
-int
-main(void)
-{
- const UnitTest tests[] = {
- unit_test(test_slist_sort_empty),
- unit_test(test_slist_sort_single),
- unit_test(test_slist_sort_sorted),
- unit_test(test_slist_sort_reverse),
- unit_test(test_slist_sort_mixed1),
- unit_test(test_slist_sort_mixed2),
- };
- return run_tests(tests);
-}