Callbacks redone

This commit is contained in:
Leonardo Vencovsky committed 2023-02-28 16:42:02 +01:00
1 parent a46ba1f255
commit 015d14216f
81 files changed
+378 -1641

No files matched your search

+1 -1
View File
@@ -1,5 +1,5 @@
CC=gcc
CFLAGS=-Wall -Wextra -Werror -fprofile-arcs -ftest-coverage -ftime-report -g -O0
CFLAGS=-Wall -Wextra -Werror -fprofile-arcs -ftest-coverage -ftime-report -g -O0 -DCMC_CALLBACKS
INCLUDE=-I ../src
OUTDIR=out
+1 -99
View File
@@ -287,7 +287,6 @@ CMC_CREATE_UNIT(CMCDeque, true, {
});
CMC_CREATE_TEST(PFX##_push_front(), {
total_create = 0;
struct deque *d = d_new_custom(100, d_fval, NULL, callbacks);
cmc_assert_not_equals(ptr, NULL, d);
@@ -296,7 +295,6 @@ CMC_CREATE_UNIT(CMCDeque, true, {
cmc_assert(d_push_front(d, 10));
cmc_assert_equals(size_t, 1, d_count(d));
cmc_assert_equals(int32_t, 1, total_create);
cmc_assert_equals(int32_t, CMC_FLAG_OK, d_flag(d));
d_customize(d, NULL, NULL);
@@ -328,13 +326,9 @@ CMC_CREATE_UNIT(CMCDeque, true, {
cmc_assert_equals(size_t, 50005000, sum);
d_free(d);
cmc_assert_equals(int32_t, 1, total_create);
total_create = 0;
});
CMC_CREATE_TEST(PFX##_push_back(), {
total_create = 0;
struct deque *d = d_new_custom(100, d_fval, NULL, callbacks);
cmc_assert_not_equals(ptr, NULL, d);
@@ -343,7 +337,6 @@ CMC_CREATE_UNIT(CMCDeque, true, {
cmc_assert(d_push_front(d, 10));
cmc_assert_equals(size_t, 1, d_count(d));
cmc_assert_equals(int32_t, 1, total_create);
cmc_assert_equals(int32_t, CMC_FLAG_OK, d_flag(d));
d_customize(d, NULL, NULL);
@@ -375,9 +368,6 @@ CMC_CREATE_UNIT(CMCDeque, true, {
cmc_assert_equals(size_t, 50005000, sum);
d_free(d);
cmc_assert_equals(int32_t, 1, total_create);
total_create = 0;
});
CMC_CREATE_TEST(PFX##_pop_front(), {
@@ -743,7 +733,6 @@ CMC_CREATE_UNIT(CMCDeque, true, {
});
CMC_CREATE_TEST(PFX##_resize(), {
total_resize = 0;
struct deque *d = d_new_custom(100, d_fval, NULL, callbacks);
cmc_assert_not_equals(ptr, NULL, d);
@@ -753,16 +742,12 @@ CMC_CREATE_UNIT(CMCDeque, true, {
cmc_assert(d_resize(d, 100));
cmc_assert_equals(size_t, 100, d_capacity(d));
cmc_assert_equals(int32_t, 1, total_resize);
cmc_assert(d_resize(d, 200));
cmc_assert_equals(size_t, 200, d_capacity(d));
cmc_assert(d_resize(d, 100));
cmc_assert_equals(size_t, 100, d_capacity(d));
cmc_assert_equals(int32_t, 3, total_resize);
for (size_t i = 0; i < 150; i++)
{
if (i % 2 == 0)
@@ -805,7 +790,6 @@ CMC_CREATE_UNIT(CMCDeque, true, {
cmc_assert_equals(size_t, 11325, sum);
d_free(d);
total_resize = 0;
});
CMC_CREATE_TEST(PFX##_copy_of(), {
@@ -1104,7 +1088,7 @@ CMC_CREATE_UNIT(CMCDeque, true, {
// customize
d->flag = CMC_FLAG_ERROR;
d_customize(d, &cmc_alloc_node_default, &(struct cmc_callbacks){ 0 });
d_customize(d, &cmc_alloc_node_default, callbacks);
cmc_assert_equals(int32_t, CMC_FLAG_OK, d_flag(d));
// push_front
@@ -1180,88 +1164,6 @@ CMC_CREATE_UNIT(CMCDeque, true, {
d_free(d);
d_free(d2);
});
CMC_CREATE_TEST(callbacks, {
struct deque *d = d_new_custom(100, d_fval, NULL, callbacks);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
cmc_assert(d_push_front(d, 10));
cmc_assert_equals(int32_t, 1, total_create);
cmc_assert(d_push_back(d, 10));
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert(d_pop_front(d));
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert(d_pop_back(d));
cmc_assert_equals(int32_t, 2, total_delete);
cmc_assert(d_push_front(d, 10));
cmc_assert(d_push_front(d, 5));
cmc_assert_equals(int32_t, 4, total_create);
cmc_assert_equals(size_t, 5, d_front(d));
cmc_assert_equals(int32_t, 1, total_read);
cmc_assert_equals(size_t, 10, d_back(d));
cmc_assert_equals(int32_t, 2, total_read);
cmc_assert(d_contains(d, 10));
cmc_assert(!d_contains(d, 1));
cmc_assert_equals(int32_t, 4, total_read);
cmc_assert(d_resize(d, 1000));
cmc_assert_equals(int32_t, 1, total_resize);
cmc_assert(d_resize(d, 10));
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert_equals(int32_t, 4, total_create);
cmc_assert_equals(int32_t, 4, total_read);
cmc_assert_equals(int32_t, 0, total_update);
cmc_assert_equals(int32_t, 2, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
d_customize(d, NULL, NULL);
cmc_assert_equals(ptr, NULL, d->callbacks);
d_clear(d);
cmc_assert(d_push_front(d, 10));
cmc_assert(d_push_back(d, 10));
cmc_assert(d_pop_front(d));
cmc_assert(d_pop_back(d));
cmc_assert(d_push_front(d, 10));
cmc_assert(d_push_front(d, 5));
cmc_assert_equals(size_t, 5, d_front(d));
cmc_assert_equals(size_t, 10, d_back(d));
cmc_assert(d_contains(d, 10));
cmc_assert(!d_contains(d, 1));
cmc_assert(d_resize(d, 1000));
cmc_assert(d_resize(d, 10));
cmc_assert_equals(int32_t, 4, total_create);
cmc_assert_equals(int32_t, 4, total_read);
cmc_assert_equals(int32_t, 0, total_update);
cmc_assert_equals(int32_t, 2, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert_equals(ptr, NULL, d->callbacks);
d_free(d);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
});
});
CMC_CREATE_UNIT(CMCDequeIter, true, {
+3 -96
View File
@@ -460,7 +460,7 @@ CMC_CREATE_UNIT(CMCHashBidiMap, true, {
struct hashbidimap *map = hbm_new_custom(
10000, 0.6, hbm_fkey, hbm_fval,
&(struct cmc_alloc_node){ .malloc = malloc, .calloc = calloc, .realloc = realloc, .free = free },
&(struct cmc_callbacks){ 0 });
callbacks);
cmc_assert_not_equals(ptr, NULL, map);
@@ -489,7 +489,7 @@ CMC_CREATE_UNIT(CMCHashBidiMap, true, {
struct hashbidimap *map = hbm_new_custom(
10000, 0.6, hbm_fkey, hbm_fval,
&(struct cmc_alloc_node){ .malloc = malloc, .calloc = calloc, .realloc = realloc, .free = free },
&(struct cmc_callbacks){ 0 });
callbacks);
cmc_assert_not_equals(ptr, NULL, map);
@@ -582,7 +582,7 @@ CMC_CREATE_UNIT(CMCHashBidiMap, true, {
cmc_assert_equals(int32_t, CMC_FLAG_OK, hbm_flag(map));
// customize
hbm_customize(map, &cmc_alloc_node_default, &(struct cmc_callbacks){ 0 });
hbm_customize(map, &cmc_alloc_node_default, callbacks);
cmc_assert_equals(int32_t, CMC_FLAG_OK, hbm_flag(map));
// Insert
@@ -709,99 +709,6 @@ CMC_CREATE_UNIT(CMCHashBidiMap, true, {
hbm_free(map);
hbm_free(map2);
});
CMC_CREATE_TEST(callbacks, {
struct hashbidimap *map = hbm_new_custom(100, 0.7, hbm_fkey, hbm_fval, NULL, callbacks);
cmc_assert_not_equals(ptr, NULL, map);
cmc_assert_equals(ptr, callbacks, map->callbacks);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
cmc_assert(hbm_insert(map, 10, 10));
cmc_assert_equals(int32_t, 1, total_create);
cmc_assert(hbm_update_key(map, 10, 5));
cmc_assert_equals(int32_t, 1, total_update);
cmc_assert(hbm_update_val(map, 5, 5));
cmc_assert_equals(int32_t, 2, total_update);
cmc_assert(hbm_insert(map, 10, 10));
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert(hbm_remove_by_key(map, 5, NULL, NULL));
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert(hbm_remove_by_val(map, 10, NULL, NULL));
cmc_assert_equals(int32_t, 2, total_delete);
cmc_assert(hbm_insert(map, 1, 2));
cmc_assert_equals(int32_t, 3, total_create);
cmc_assert_equals(size_t, 1, hbm_get_key(map, 2));
cmc_assert_equals(int32_t, 1, total_read);
cmc_assert_equals(size_t, 2, hbm_get_val(map, 1));
cmc_assert_equals(int32_t, 2, total_read);
cmc_assert(hbm_resize(map, 1000));
cmc_assert_equals(int32_t, 1, total_resize);
cmc_assert(hbm_resize(map, 200));
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert(hbm_contains_key(map, 1));
cmc_assert_equals(int32_t, 3, total_read);
cmc_assert(hbm_contains_val(map, 2));
cmc_assert_equals(int32_t, 4, total_read);
cmc_assert_equals(int32_t, 3, total_create);
cmc_assert_equals(int32_t, 4, total_read);
cmc_assert_equals(int32_t, 2, total_update);
cmc_assert_equals(int32_t, 2, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
hbm_customize(map, NULL, NULL);
cmc_assert_equals(ptr, NULL, map->callbacks);
hbm_clear(map);
cmc_assert(hbm_insert(map, 10, 10));
cmc_assert(hbm_update_key(map, 10, 5));
cmc_assert(hbm_update_val(map, 5, 5));
cmc_assert(hbm_insert(map, 10, 10));
cmc_assert(hbm_remove_by_key(map, 5, NULL, NULL));
cmc_assert(hbm_remove_by_val(map, 10, NULL, NULL));
cmc_assert(hbm_insert(map, 1, 2));
cmc_assert_equals(size_t, 1, hbm_get_key(map, 2));
cmc_assert_equals(size_t, 2, hbm_get_val(map, 1));
cmc_assert(hbm_resize(map, 1000));
cmc_assert(hbm_resize(map, 200));
cmc_assert(hbm_contains_key(map, 1));
cmc_assert(hbm_contains_val(map, 2));
cmc_assert_equals(int32_t, 3, total_create);
cmc_assert_equals(int32_t, 4, total_read);
cmc_assert_equals(int32_t, 2, total_update);
cmc_assert_equals(int32_t, 2, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert_equals(ptr, NULL, map->callbacks);
hbm_free(map);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
});
});
CMC_CREATE_UNIT(CMCHashBidiMapIter, true, {
-78
View File
@@ -802,84 +802,6 @@ CMC_CREATE_UNIT(CMCHashMap, true, {
hm_free(map);
hm_free(map2);
});
CMC_CREATE_TEST(callbacks, {
struct hashmap *map = hm_new_custom(100, 0.6, hm_fkey, hm_fval, NULL, callbacks);
cmc_assert_not_equals(ptr, NULL, map);
cmc_assert(hm_insert(map, 1, 2));
cmc_assert_equals(int32_t, 1, total_create);
cmc_assert(hm_update(map, 1, 10, NULL));
cmc_assert_equals(int32_t, 1, total_update);
cmc_assert(hm_remove(map, 1, NULL));
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert(hm_insert(map, 1, 2));
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert(hm_max(map, NULL, NULL));
cmc_assert_equals(int32_t, 1, total_read);
cmc_assert(hm_min(map, NULL, NULL));
cmc_assert_equals(int32_t, 2, total_read);
cmc_assert_equals(size_t, 2, hm_get(map, 1));
cmc_assert_equals(int32_t, 3, total_read);
cmc_assert_not_equals(ptr, NULL, hm_get_ref(map, 1));
cmc_assert_equals(int32_t, 4, total_read);
cmc_assert(hm_contains(map, 1));
cmc_assert_equals(int32_t, 5, total_read);
cmc_assert(hm_resize(map, 10000));
cmc_assert_equals(int32_t, 1, total_resize);
cmc_assert(hm_resize(map, 500));
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert_equals(int32_t, 5, total_read);
cmc_assert_equals(int32_t, 1, total_update);
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
hm_customize(map, NULL, NULL);
cmc_assert_equals(ptr, NULL, map->callbacks);
hm_clear(map);
cmc_assert(hm_insert(map, 1, 2));
cmc_assert(hm_update(map, 1, 10, NULL));
cmc_assert(hm_remove(map, 1, NULL));
cmc_assert(hm_insert(map, 1, 2));
cmc_assert(hm_max(map, NULL, NULL));
cmc_assert(hm_min(map, NULL, NULL));
cmc_assert_equals(size_t, 2, hm_get(map, 1));
cmc_assert_not_equals(ptr, NULL, hm_get_ref(map, 1));
cmc_assert(hm_contains(map, 1));
cmc_assert(hm_resize(map, 10000));
cmc_assert(hm_resize(map, 500));
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert_equals(int32_t, 5, total_read);
cmc_assert_equals(int32_t, 1, total_update);
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert_equals(ptr, NULL, map->callbacks);
hm_free(map);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
});
});
struct hashmap_fkey *hm_fkey_numhash = &(struct hashmap_fkey){
-100
View File
@@ -464,106 +464,6 @@ CMC_CREATE_UNIT(CMCHashMultiMap, true, {
hmm_free(map);
hmm_free(map2);
});
CMC_CREATE_TEST(callbacks, {
struct hashmultimap *map = hmm_new_custom(100, 0.8, hmm_fkey, hmm_fval, NULL, callbacks);
cmc_assert_not_equals(ptr, NULL, map);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
cmc_assert(hmm_insert(map, 1, 1));
cmc_assert_equals(int32_t, 1, total_create);
cmc_assert(hmm_update(map, 1, 2, NULL));
cmc_assert_equals(int32_t, 1, total_update);
cmc_assert(hmm_insert(map, 1, 1));
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert_equals(size_t, 2, hmm_update_all(map, 1, 3, NULL));
cmc_assert_equals(int32_t, 2, total_update);
cmc_assert(hmm_remove(map, 1, NULL));
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert(hmm_insert(map, 1, 2));
cmc_assert_equals(int32_t, 3, total_create);
cmc_assert_equals(size_t, 2, hmm_remove_all(map, 1, NULL));
cmc_assert_equals(int32_t, 2, total_delete);
cmc_assert(hmm_insert(map, 1, 2));
cmc_assert_equals(int32_t, 4, total_create);
cmc_assert(hmm_max(map, NULL, NULL));
cmc_assert_equals(int32_t, 1, total_read);
cmc_assert(hmm_min(map, NULL, NULL));
cmc_assert_equals(int32_t, 2, total_read);
cmc_assert_equals(size_t, 2, hmm_get(map, 1));
cmc_assert_equals(int32_t, 3, total_read);
cmc_assert_not_equals(ptr, NULL, hmm_get_ref(map, 1));
cmc_assert_equals(int32_t, 4, total_read);
cmc_assert(hmm_contains(map, 1));
cmc_assert_equals(int32_t, 5, total_read);
cmc_assert(hmm_resize(map, 1000));
cmc_assert_equals(int32_t, 1, total_resize);
cmc_assert(hmm_resize(map, 100));
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert_equals(int32_t, 4, total_create);
cmc_assert_equals(int32_t, 5, total_read);
cmc_assert_equals(int32_t, 2, total_update);
cmc_assert_equals(int32_t, 2, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
hmm_customize(map, NULL, NULL);
cmc_assert_equals(ptr, NULL, map->callbacks);
hmm_clear(map);
cmc_assert(hmm_insert(map, 1, 1));
cmc_assert(hmm_update(map, 1, 2, NULL));
cmc_assert(hmm_insert(map, 1, 1));
cmc_assert_equals(size_t, 2, hmm_update_all(map, 1, 3, NULL));
cmc_assert(hmm_remove(map, 1, NULL));
cmc_assert(hmm_insert(map, 1, 2));
cmc_assert_equals(size_t, 2, hmm_remove_all(map, 1, NULL));
cmc_assert(hmm_insert(map, 1, 2));
cmc_assert(hmm_max(map, NULL, NULL));
cmc_assert(hmm_min(map, NULL, NULL));
cmc_assert_equals(size_t, 2, hmm_get(map, 1));
cmc_assert_not_equals(ptr, NULL, hmm_get_ref(map, 1));
cmc_assert(hmm_contains(map, 1));
cmc_assert(hmm_resize(map, 1000));
cmc_assert(hmm_resize(map, 100));
cmc_assert_equals(int32_t, 4, total_create);
cmc_assert_equals(int32_t, 5, total_read);
cmc_assert_equals(int32_t, 2, total_update);
cmc_assert_equals(int32_t, 2, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert_equals(ptr, NULL, map->callbacks);
hmm_free(map);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
});
});
struct hashmultimap_fkey *hmm_fkey_numhash = &(struct hashmultimap_fkey){
-88
View File
@@ -331,94 +331,6 @@ CMC_CREATE_UNIT(CMCHashMultiSet, true, {
hms_free(set);
hms_free(set2);
});
CMC_CREATE_TEST(callbacks, {
struct hashmultiset *set = hms_new_custom(100, 0.8, hms_fval, NULL, callbacks);
cmc_assert_not_equals(ptr, NULL, set);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
cmc_assert(hms_insert(set, 1));
cmc_assert_equals(int32_t, 1, total_create);
cmc_assert(hms_insert_many(set, 1, 3));
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert(hms_update(set, 1, 0));
cmc_assert_equals(int32_t, 1, total_update);
cmc_assert(hms_update(set, 1, 10));
cmc_assert_equals(int32_t, 2, total_update);
cmc_assert(hms_remove(set, 1));
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert(hms_remove_all(set, 1));
cmc_assert_equals(int32_t, 2, total_delete);
cmc_assert(hms_update(set, 1, 10));
cmc_assert_equals(int32_t, 3, total_update);
cmc_assert(hms_max(set, NULL));
cmc_assert_equals(int32_t, 1, total_read);
cmc_assert(hms_min(set, NULL));
cmc_assert_equals(int32_t, 2, total_read);
cmc_assert(hms_contains(set, 1));
cmc_assert_equals(int32_t, 3, total_read);
cmc_assert(hms_resize(set, 1000));
cmc_assert_equals(int32_t, 1, total_resize);
cmc_assert(hms_resize(set, 100));
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert_equals(int32_t, 3, total_read);
cmc_assert_equals(int32_t, 3, total_update);
cmc_assert_equals(int32_t, 2, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
hms_customize(set, NULL, NULL);
cmc_assert_equals(ptr, NULL, set->callbacks);
hms_clear(set);
cmc_assert(hms_insert(set, 1));
cmc_assert(hms_insert_many(set, 1, 3));
cmc_assert(hms_update(set, 1, 0));
cmc_assert(hms_update(set, 1, 10));
cmc_assert(hms_remove(set, 1));
cmc_assert(hms_remove_all(set, 1));
cmc_assert(hms_update(set, 1, 10));
cmc_assert(hms_max(set, NULL));
cmc_assert(hms_min(set, NULL));
cmc_assert(hms_contains(set, 1));
cmc_assert(hms_resize(set, 1000));
cmc_assert(hms_resize(set, 100));
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert_equals(int32_t, 3, total_read);
cmc_assert_equals(int32_t, 3, total_update);
cmc_assert_equals(int32_t, 2, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert_equals(ptr, NULL, set->callbacks);
hms_free(set);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
});
});
struct hashmultiset_fval *hms_fval_numhash = &(struct hashmultiset_fval){
-72
View File
@@ -547,78 +547,6 @@ CMC_CREATE_UNIT(CMCHashSet, true, {
hs_free(set);
hs_free(set2);
});
CMC_CREATE_TEST(callbacks, {
struct hashset *set = hs_new_custom(100, 0.6, hs_fval, NULL, callbacks);
cmc_assert_not_equals(ptr, NULL, set);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
cmc_assert(hs_insert(set, 1));
cmc_assert_equals(int32_t, 1, total_create);
cmc_assert(hs_remove(set, 1));
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert(hs_insert(set, 1));
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert(hs_max(set, NULL));
cmc_assert_equals(int32_t, 1, total_read);
cmc_assert(hs_min(set, NULL));
cmc_assert_equals(int32_t, 2, total_read);
cmc_assert(hs_contains(set, 1));
cmc_assert_equals(int32_t, 3, total_read);
cmc_assert(hs_resize(set, 10000));
cmc_assert_equals(int32_t, 1, total_resize);
cmc_assert(hs_resize(set, 500));
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert_equals(int32_t, 3, total_read);
cmc_assert_equals(int32_t, 0, total_update);
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
hs_customize(set, NULL, NULL);
cmc_assert_equals(ptr, NULL, set->callbacks);
hs_clear(set);
cmc_assert(hs_resize(set, 10000));
cmc_assert(hs_resize(set, 500));
cmc_assert(hs_insert(set, 1));
cmc_assert(hs_remove(set, 1));
cmc_assert(hs_insert(set, 1));
cmc_assert(hs_max(set, NULL));
cmc_assert(hs_min(set, NULL));
cmc_assert(hs_contains(set, 1));
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert_equals(int32_t, 3, total_read);
cmc_assert_equals(int32_t, 0, total_update);
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert_equals(ptr, NULL, set->callbacks);
hs_free(set);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
});
});
struct hashset_fval *hs_fval_numhash = &(struct hashset_fval){
-68
View File
@@ -220,74 +220,6 @@ CMC_CREATE_UNIT(CMCHeap, true, {
h_free(h);
h_free(h2);
});
CMC_CREATE_TEST(callbacks, {
struct heap *h = h_new_custom(100, CMC_MAX_HEAP, h_fval, NULL, callbacks);
cmc_assert_not_equals(ptr, NULL, h);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
cmc_assert(h_insert(h, 10));
cmc_assert_equals(int32_t, 1, total_create);
cmc_assert(h_remove(h));
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert(h_insert(h, 10));
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert_equals(size_t, 10, h_peek(h));
cmc_assert_equals(int32_t, 1, total_read);
cmc_assert(h_contains(h, 10));
cmc_assert_equals(int32_t, 2, total_read);
cmc_assert(h_resize(h, 1000));
cmc_assert_equals(int32_t, 1, total_resize);
cmc_assert(h_resize(h, 100));
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert_equals(int32_t, 2, total_read);
cmc_assert_equals(int32_t, 0, total_update);
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
h_customize(h, NULL, NULL);
cmc_assert_equals(ptr, NULL, h->callbacks);
h_clear(h);
cmc_assert(h_insert(h, 10));
cmc_assert(h_remove(h));
cmc_assert(h_insert(h, 10));
cmc_assert_equals(size_t, 10, h_peek(h));
cmc_assert(h_contains(h, 10));
cmc_assert(h_resize(h, 1000));
cmc_assert(h_resize(h, 100));
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert_equals(int32_t, 2, total_read);
cmc_assert_equals(int32_t, 0, total_update);
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert_equals(ptr, NULL, h->callbacks);
h_free(h);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
});
});
CMC_CREATE_UNIT(CMCHeapIter, true, {
-109
View File
@@ -214,7 +214,6 @@ CMC_CREATE_UNIT(CMCIntervalHeap, true, {
});
CMC_CREATE_TEST(PFX##_insert(), {
total_create = 0;
struct intervalheap *ih = ih_new(100, ih_fval);
cmc_assert_not_equals(ptr, NULL, ih);
@@ -233,17 +232,6 @@ CMC_CREATE_UNIT(CMCIntervalHeap, true, {
ih_free(ih);
// callbacks
ih = ih_new_custom(100, ih_fval, NULL, callbacks);
for (size_t i = 0; i < 10000; i++)
ih_insert(ih, i);
cmc_assert_equals(size_t, 10000, ih_count(ih));
cmc_assert_equals(int32_t, 10000, total_create);
ih_free(ih);
// max
ih = ih_new(1, ih_fval);
@@ -289,11 +277,9 @@ CMC_CREATE_UNIT(CMCIntervalHeap, true, {
cmc_assert_equals(size_t, 1, ih->buffer[0][0]);
ih_free(ih);
total_create = 0;
});
CMC_CREATE_TEST(PFX##_remove_max(), {
total_delete = 0;
struct intervalheap *ih = ih_new_custom(100, ih_fval, NULL, callbacks);
// count == 0
@@ -306,7 +292,6 @@ CMC_CREATE_UNIT(CMCIntervalHeap, true, {
ih->flag = CMC_FLAG_ERROR;
cmc_assert(ih_remove_max(ih));
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert_equals(int32_t, CMC_FLAG_OK, ih->flag);
for (size_t i = 1; i <= 1000; i++)
@@ -337,11 +322,9 @@ CMC_CREATE_UNIT(CMCIntervalHeap, true, {
}
ih_free(ih);
total_delete = 0;
});
CMC_CREATE_TEST(PFX##_remove_min(), {
total_delete = 0;
struct intervalheap *ih = ih_new_custom(100, ih_fval, NULL, callbacks);
// count == 0
@@ -354,7 +337,6 @@ CMC_CREATE_UNIT(CMCIntervalHeap, true, {
ih->flag = CMC_FLAG_ERROR;
cmc_assert(ih_remove_min(ih));
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert_equals(int32_t, CMC_FLAG_OK, ih->flag);
for (size_t i = 1000; i >= 1; i--)
@@ -385,7 +367,6 @@ CMC_CREATE_UNIT(CMCIntervalHeap, true, {
}
ih_free(ih);
total_delete = 0;
});
CMC_CREATE_TEST(PFX##_remove_max() + PFX##_remove_min(), {
@@ -521,96 +502,6 @@ CMC_CREATE_UNIT(CMCIntervalHeap, true, {
ih_free(ih);
ih_free(ih2);
});
CMC_CREATE_TEST(callbacks, {
struct intervalheap *ih = ih_new_custom(100, ih_fval, NULL, callbacks);
cmc_assert_not_equals(ptr, NULL, ih);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
cmc_assert(ih_insert(ih, 10));
cmc_assert_equals(int32_t, 1, total_create);
cmc_assert(ih_remove_max(ih));
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert(ih_insert(ih, 10));
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert(ih_remove_min(ih));
cmc_assert_equals(int32_t, 2, total_delete);
cmc_assert(ih_insert(ih, 1));
cmc_assert(ih_insert(ih, 2));
cmc_assert_equals(int32_t, 4, total_create);
cmc_assert(ih_update_max(ih, 1));
cmc_assert_equals(int32_t, 1, total_update);
cmc_assert(ih_update_min(ih, 2));
cmc_assert_equals(int32_t, 2, total_update);
cmc_assert_equals(size_t, 2, ih_max(ih));
cmc_assert_equals(int32_t, 1, total_read);
cmc_assert_equals(size_t, 1, ih_min(ih));
cmc_assert_equals(int32_t, 2, total_read);
cmc_assert(ih_contains(ih, 1));
cmc_assert_equals(int32_t, 3, total_read);
cmc_assert(ih_resize(ih, 1000));
cmc_assert_equals(int32_t, 1, total_resize);
cmc_assert(ih_resize(ih, 50));
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert_equals(int32_t, 4, total_create);
cmc_assert_equals(int32_t, 3, total_read);
cmc_assert_equals(int32_t, 2, total_update);
cmc_assert_equals(int32_t, 2, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
ih_customize(ih, NULL, NULL);
cmc_assert_equals(ptr, NULL, ih->callbacks);
ih_clear(ih);
cmc_assert(ih_insert(ih, 10));
cmc_assert(ih_remove_max(ih));
cmc_assert(ih_insert(ih, 10));
cmc_assert(ih_remove_min(ih));
cmc_assert(ih_insert(ih, 1));
cmc_assert(ih_insert(ih, 2));
cmc_assert(ih_update_max(ih, 1));
cmc_assert(ih_update_min(ih, 2));
cmc_assert_equals(size_t, 2, ih_max(ih));
cmc_assert_equals(size_t, 1, ih_min(ih));
cmc_assert(ih_contains(ih, 1));
cmc_assert(ih_resize(ih, 1000));
cmc_assert(ih_resize(ih, 50));
cmc_assert_equals(int32_t, 4, total_create);
cmc_assert_equals(int32_t, 3, total_read);
cmc_assert_equals(int32_t, 2, total_update);
cmc_assert_equals(int32_t, 2, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert_equals(ptr, NULL, ih->callbacks);
ih_free(ih);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
});
});
CMC_CREATE_UNIT(CMCIntervalHeapIter, true, {
-88
View File
@@ -253,94 +253,6 @@ CMC_CREATE_UNIT(CMCLinkedList, true, {
ll_free(ll);
ll_free(ll2);
});
CMC_CREATE_TEST(callbacks, {
struct linkedlist *ll = ll_new_custom(ll_fval, NULL, callbacks);
cmc_assert_not_equals(ptr, NULL, ll);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
cmc_assert(ll_push_front(ll, 10));
cmc_assert_equals(int32_t, 1, total_create);
cmc_assert(ll_push_back(ll, 10));
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert(ll_push_at(ll, 10, 1));
cmc_assert_equals(int32_t, 3, total_create);
cmc_assert(ll_pop_at(ll, 1));
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert(ll_pop_front(ll));
cmc_assert_equals(int32_t, 2, total_delete);
cmc_assert(ll_pop_back(ll));
cmc_assert_equals(int32_t, 3, total_delete);
cmc_assert(ll_push_back(ll, 10));
cmc_assert_equals(int32_t, 4, total_create);
cmc_assert_equals(size_t, 10, ll_front(ll));
cmc_assert_equals(int32_t, 1, total_read);
cmc_assert_equals(size_t, 10, ll_back(ll));
cmc_assert_equals(int32_t, 2, total_read);
cmc_assert_equals(size_t, 10, ll_get(ll, 0));
cmc_assert_equals(int32_t, 3, total_read);
cmc_assert_not_equals(ptr, NULL, ll_get_ref(ll, 0));
cmc_assert_equals(int32_t, 4, total_read);
cmc_assert(ll_contains(ll, 10));
cmc_assert_equals(int32_t, 5, total_read);
cmc_assert_equals(int32_t, 4, total_create);
cmc_assert_equals(int32_t, 5, total_read);
cmc_assert_equals(int32_t, 0, total_update);
cmc_assert_equals(int32_t, 3, total_delete);
cmc_assert_equals(int32_t, 0, total_resize);
ll_customize(ll, NULL, NULL);
cmc_assert_equals(ptr, NULL, ll->callbacks);
ll_clear(ll);
cmc_assert(ll_push_front(ll, 10));
cmc_assert(ll_push_back(ll, 10));
cmc_assert(ll_push_at(ll, 10, 1));
cmc_assert(ll_pop_at(ll, 1));
cmc_assert(ll_pop_front(ll));
cmc_assert(ll_pop_back(ll));
cmc_assert(ll_push_back(ll, 10));
cmc_assert_equals(size_t, 10, ll_front(ll));
cmc_assert_equals(size_t, 10, ll_back(ll));
cmc_assert_equals(size_t, 10, ll_get(ll, 0));
cmc_assert_not_equals(ptr, NULL, ll_get_ref(ll, 0));
cmc_assert(ll_contains(ll, 10));
cmc_assert_equals(int32_t, 4, total_create);
cmc_assert_equals(int32_t, 5, total_read);
cmc_assert_equals(int32_t, 0, total_update);
cmc_assert_equals(int32_t, 3, total_delete);
cmc_assert_equals(int32_t, 0, total_resize);
cmc_assert_equals(ptr, NULL, ll->callbacks);
ll_free(ll);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
});
});
CMC_CREATE_UNIT(CMCLinkedListIter, true, {
-118
View File
@@ -494,124 +494,6 @@ CMC_CREATE_UNIT(CMCList, true, {
l_free(l2);
l_free(l3);
});
CMC_CREATE_TEST(callbacks, {
struct list *l = l_new_custom(100, l_fval, NULL, callbacks);
cmc_assert_not_equals(ptr, NULL, l);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
cmc_assert(l_push_front(l, 10));
cmc_assert_equals(int32_t, 1, total_create);
cmc_assert(l_push_back(l, 10));
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert(l_push_at(l, 10, 1));
cmc_assert_equals(int32_t, 3, total_create);
cmc_assert(l_pop_at(l, 1));
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert(l_pop_front(l));
cmc_assert_equals(int32_t, 2, total_delete);
cmc_assert(l_pop_back(l));
cmc_assert_equals(int32_t, 3, total_delete);
cmc_assert(l_push_back(l, 10));
cmc_assert_equals(int32_t, 4, total_create);
cmc_assert_equals(size_t, 10, l_front(l));
cmc_assert_equals(int32_t, 1, total_read);
cmc_assert_equals(size_t, 10, l_back(l));
cmc_assert_equals(int32_t, 2, total_read);
cmc_assert_equals(size_t, 10, l_get(l, 0));
cmc_assert_equals(int32_t, 3, total_read);
cmc_assert_not_equals(ptr, NULL, l_get_ref(l, 0));
cmc_assert_equals(int32_t, 4, total_read);
cmc_assert(l_contains(l, 10));
cmc_assert_equals(int32_t, 5, total_read);
cmc_assert(l_seq_push_front(l, (size_t[]){ 7, 8, 9 }, 3));
cmc_assert_equals(int32_t, 5, total_create);
cmc_assert(l_seq_push_back(l, (size_t[]){ 14, 15, 16 }, 3));
cmc_assert_equals(int32_t, 6, total_create);
cmc_assert(l_seq_push_at(l, (size_t[]){ 11, 12, 13 }, 3, 4));
cmc_assert_equals(int32_t, 7, total_create);
cmc_assert(l_seq_pop_at(l, 1, 4));
cmc_assert_equals(int32_t, 4, total_delete);
struct list *l2 = l_seq_sublist(l, 0, 4);
cmc_assert_equals(int32_t, 5, total_delete);
cmc_assert(l_resize(l, 1000));
cmc_assert_equals(int32_t, 1, total_resize);
cmc_assert(l_resize(l2, 1000));
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert_equals(int32_t, 7, total_create);
cmc_assert_equals(int32_t, 5, total_read);
cmc_assert_equals(int32_t, 0, total_update);
cmc_assert_equals(int32_t, 5, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
l_customize(l, NULL, NULL);
cmc_assert_equals(ptr, NULL, l->callbacks);
l_clear(l);
cmc_assert(l_push_front(l, 10));
cmc_assert(l_push_back(l, 10));
cmc_assert(l_push_at(l, 10, 1));
cmc_assert(l_pop_at(l, 1));
cmc_assert(l_pop_front(l));
cmc_assert(l_pop_back(l));
cmc_assert(l_push_back(l, 10));
cmc_assert_equals(size_t, 10, l_front(l));
cmc_assert_equals(size_t, 10, l_back(l));
cmc_assert_equals(size_t, 10, l_get(l, 0));
cmc_assert_not_equals(ptr, NULL, l_get_ref(l, 0));
cmc_assert(l_contains(l, 10));
cmc_assert(l_seq_push_front(l, (size_t[]){ 7, 8, 9 }, 3));
cmc_assert(l_seq_push_back(l, (size_t[]){ 14, 15, 16 }, 3));
cmc_assert(l_seq_push_at(l, (size_t[]){ 11, 12, 13 }, 3, 4));
cmc_assert(l_seq_pop_at(l, 1, 4));
struct list *l3 = l_seq_sublist(l, 0, 4);
cmc_assert(l_resize(l, 1000));
cmc_assert(l_resize(l3, 1000));
cmc_assert_equals(int32_t, 7, total_create);
cmc_assert_equals(int32_t, 5, total_read);
cmc_assert_equals(int32_t, 0, total_update);
cmc_assert_equals(int32_t, 5, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert_equals(ptr, NULL, l->callbacks);
l_free(l);
l_free(l2);
l_free(l3);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
});
})
CMC_CREATE_UNIT(CMCListIter, true, {
-68
View File
@@ -472,74 +472,6 @@ CMC_CREATE_UNIT(CMCQueue, true, {
q_free(q);
q_free(q2);
});
CMC_CREATE_TEST(callbacks, {
struct queue *q = q_new_custom(100, q_fval, NULL, callbacks);
cmc_assert_not_equals(ptr, NULL, q);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
cmc_assert(q_enqueue(q, 10));
cmc_assert_equals(int32_t, 1, total_create);
cmc_assert(q_dequeue(q));
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert(q_enqueue(q, 10));
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert_equals(size_t, 10, q_peek(q));
cmc_assert_equals(int32_t, 1, total_read);
cmc_assert(q_contains(q, 10));
cmc_assert_equals(int32_t, 2, total_read);
cmc_assert(q_resize(q, 1000));
cmc_assert_equals(int32_t, 1, total_resize);
cmc_assert(q_resize(q, 100));
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert_equals(int32_t, 2, total_read);
cmc_assert_equals(int32_t, 0, total_update);
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
q_customize(q, NULL, NULL);
cmc_assert_equals(ptr, NULL, q->callbacks);
q_clear(q);
cmc_assert(q_enqueue(q, 10));
cmc_assert(q_dequeue(q));
cmc_assert(q_enqueue(q, 10));
cmc_assert_equals(size_t, 10, q_peek(q));
cmc_assert(q_contains(q, 10));
cmc_assert(q_resize(q, 1000));
cmc_assert(q_resize(q, 100));
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert_equals(int32_t, 2, total_read);
cmc_assert_equals(int32_t, 0, total_update);
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert_equals(ptr, NULL, q->callbacks);
q_free(q);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
});
});
CMC_CREATE_UNIT(CMCQueueIter, true, {
-78
View File
@@ -232,84 +232,6 @@ CMC_CREATE_UNIT(CMCSortedList, true, {
sl_free(sl);
sl_free(sl2);
});
CMC_CREATE_TEST(callbacks, {
struct sortedlist *sl = sl_new_custom(100, sl_fval, NULL, callbacks);
cmc_assert_not_equals(ptr, NULL, sl);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
cmc_assert(sl_insert(sl, 10));
cmc_assert_equals(int32_t, 1, total_create);
cmc_assert(sl_remove(sl, 0));
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert(sl_insert(sl, 1));
cmc_assert(sl_insert(sl, 0));
cmc_assert_equals(int32_t, 3, total_create);
cmc_assert_equals(size_t, 1, sl_max(sl));
cmc_assert_equals(int32_t, 1, total_read);
cmc_assert_equals(size_t, 0, sl_min(sl));
cmc_assert_equals(int32_t, 2, total_read);
cmc_assert_equals(size_t, 0, sl_get(sl, 0));
cmc_assert_equals(int32_t, 3, total_read);
cmc_assert_equals(size_t, 0, sl_index_of(sl, 0, true));
cmc_assert_equals(int32_t, 4, total_read);
cmc_assert(sl_contains(sl, 1));
cmc_assert_equals(int32_t, 5, total_read);
cmc_assert(sl_resize(sl, 1000));
cmc_assert_equals(int32_t, 1, total_resize);
cmc_assert(sl_resize(sl, 50));
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert_equals(int32_t, 3, total_create);
cmc_assert_equals(int32_t, 5, total_read);
cmc_assert_equals(int32_t, 0, total_update);
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
sl_customize(sl, NULL, NULL);
sl_clear(sl);
cmc_assert(sl_insert(sl, 10));
cmc_assert(sl_remove(sl, 0));
cmc_assert(sl_insert(sl, 1));
cmc_assert(sl_insert(sl, 0));
cmc_assert_equals(size_t, 1, sl_max(sl));
cmc_assert_equals(size_t, 0, sl_min(sl));
cmc_assert_equals(size_t, 0, sl_get(sl, 0));
cmc_assert_equals(size_t, 0, sl_index_of(sl, 0, true));
cmc_assert(sl_contains(sl, 1));
cmc_assert_equals(int32_t, 3, total_create);
cmc_assert_equals(int32_t, 5, total_read);
cmc_assert_equals(int32_t, 0, total_update);
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert_equals(ptr, NULL, sl->callbacks);
sl_free(sl);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
});
});
CMC_CREATE_UNIT(CMCSortedListIter, true, {
-66
View File
@@ -338,72 +338,6 @@ CMC_CREATE_UNIT(CMCStack, true, {
s_free(s);
s_free(s2);
});
CMC_CREATE_TEST(callbacks, {
struct stack *s = s_new_custom(100, s_fval, NULL, callbacks);
cmc_assert_not_equals(ptr, NULL, s);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
cmc_assert(s_push(s, 10));
cmc_assert_equals(int32_t, 1, total_create);
cmc_assert(s_pop(s));
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert(s_push(s, 1));
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert_equals(size_t, 1, s_top(s));
cmc_assert_equals(int32_t, 1, total_read);
cmc_assert(s_contains(s, 1));
cmc_assert_equals(int32_t, 2, total_read);
cmc_assert(s_resize(s, 1000));
cmc_assert_equals(int32_t, 1, total_resize);
cmc_assert(s_resize(s, 10));
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert_equals(int32_t, 2, total_read);
cmc_assert_equals(int32_t, 0, total_update);
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
s_customize(s, NULL, NULL);
s_clear(s);
cmc_assert(s_push(s, 10));
cmc_assert(s_pop(s));
cmc_assert(s_push(s, 1));
cmc_assert_equals(size_t, 1, s_top(s));
cmc_assert(s_contains(s, 1));
cmc_assert(s_resize(s, 1000));
cmc_assert(s_resize(s, 10));
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert_equals(int32_t, 2, total_read);
cmc_assert_equals(int32_t, 0, total_update);
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert_equals(int32_t, 2, total_resize);
cmc_assert_equals(ptr, NULL, s->callbacks);
s_free(s);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
});
});
CMC_CREATE_UNIT(CMCStackIter, true, {
-74
View File
@@ -139,80 +139,6 @@ CMC_CREATE_UNIT(CMCTreeMap, true, {
tm_free(map);
tm_free(map2);
});
CMC_CREATE_TEST(callbacks, {
struct treemap *map = tm_new_custom(tm_fkey, tm_fval, NULL, callbacks);
cmc_assert_not_equals(ptr, NULL, map);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
cmc_assert(tm_insert(map, 1, 10));
cmc_assert_equals(int32_t, 1, total_create);
cmc_assert(tm_update(map, 1, 2, NULL));
cmc_assert_equals(int32_t, 1, total_update);
cmc_assert(tm_remove(map, 1, NULL));
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert(tm_insert(map, 1, 2));
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert(tm_max(map, NULL, NULL));
cmc_assert_equals(int32_t, 1, total_read);
cmc_assert(tm_min(map, NULL, NULL));
cmc_assert_equals(int32_t, 2, total_read);
cmc_assert_equals(size_t, 2, tm_get(map, 1));
cmc_assert_equals(int32_t, 3, total_read);
cmc_assert_not_equals(ptr, NULL, tm_get_ref(map, 1));
cmc_assert_equals(int32_t, 4, total_read);
cmc_assert(tm_contains(map, 1));
cmc_assert_equals(int32_t, 5, total_read);
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert_equals(int32_t, 5, total_read);
cmc_assert_equals(int32_t, 1, total_update);
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert_equals(int32_t, 0, total_resize);
tm_customize(map, NULL, NULL);
tm_clear(map);
cmc_assert(tm_insert(map, 1, 10));
cmc_assert(tm_update(map, 1, 2, NULL));
cmc_assert(tm_remove(map, 1, NULL));
cmc_assert(tm_insert(map, 1, 2));
cmc_assert(tm_max(map, NULL, NULL));
cmc_assert(tm_min(map, NULL, NULL));
cmc_assert_equals(size_t, 2, tm_get(map, 1));
cmc_assert_not_equals(ptr, NULL, tm_get_ref(map, 1));
cmc_assert(tm_contains(map, 1));
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert_equals(int32_t, 5, total_read);
cmc_assert_equals(int32_t, 1, total_update);
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert_equals(int32_t, 0, total_resize);
cmc_assert_equals(ptr, NULL, map->callbacks);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
tm_free(map);
});
});
CMC_CREATE_UNIT(CMCTreeMapIter, true, {
-62
View File
@@ -102,68 +102,6 @@ CMC_CREATE_UNIT(CMCTreeSet, true, {
ts_free(set);
ts_free(set2);
});
CMC_CREATE_TEST(callbacks, {
struct treeset *set = ts_new_custom(ts_fval, NULL, callbacks);
cmc_assert_not_equals(ptr, NULL, set);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
cmc_assert(ts_insert(set, 10));
cmc_assert_equals(int32_t, 1, total_create);
cmc_assert(ts_remove(set, 10));
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert(ts_insert(set, 1));
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert(ts_max(set, NULL));
cmc_assert_equals(int32_t, 1, total_read);
cmc_assert(ts_min(set, NULL));
cmc_assert_equals(int32_t, 2, total_read);
cmc_assert(ts_contains(set, 1));
cmc_assert_equals(int32_t, 3, total_read);
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert_equals(int32_t, 3, total_read);
cmc_assert_equals(int32_t, 0, total_update);
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert_equals(int32_t, 0, total_resize);
ts_customize(set, NULL, NULL);
ts_clear(set);
cmc_assert(ts_insert(set, 10));
cmc_assert(ts_remove(set, 10));
cmc_assert(ts_insert(set, 1));
cmc_assert(ts_max(set, NULL));
cmc_assert(ts_min(set, NULL));
cmc_assert(ts_contains(set, 1));
cmc_assert_equals(int32_t, 2, total_create);
cmc_assert_equals(int32_t, 3, total_read);
cmc_assert_equals(int32_t, 0, total_update);
cmc_assert_equals(int32_t, 1, total_delete);
cmc_assert_equals(int32_t, 0, total_resize);
cmc_assert_equals(ptr, NULL, set->callbacks);
total_create = 0;
total_read = 0;
total_update = 0;
total_delete = 0;
total_resize = 0;
ts_free(set);
});
});
CMC_CREATE_UNIT(CMCTreeSetIter, true, {
+2 -36
View File
@@ -129,43 +129,9 @@ int v_c_pri(size_t a, size_t b)
return (a > b) - (a < b);
}
// callbacks
int total_create = 0;
int total_read = 0;
int total_update = 0;
int total_delete = 0;
int total_resize = 0;
void callback_create(void)
void callbacks(CMC_UNUSED const char func_name[], CMC_UNUSED void *self)
{
total_create++;
// EMPTY for now..
}
void callback_read(void)
{
total_read++;
}
void callback_update(void)
{
total_update++;
}
void callback_delete(void)
{
total_delete++;
}
void callback_resize(void)
{
total_resize++;
}
struct cmc_callbacks *callbacks = &(struct cmc_callbacks){ .create = callback_create,
.read = callback_read,
.update = callback_update,
.delete = callback_delete,
.resize = callback_resize };
#endif /* CMC_TESTS_UTL */