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

-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){