Finally releasing sortedlist

This commit is contained in:
Leonardo committed 2019-10-11 02:14:33 -03:00
1 parent 5e1a26b72e
commit 63d0453341
2 files changed
+621 -527

No files matched your search

+548 -526
View File
File diff suppressed because it is too large. Load diff
+73 -1
View File
@@ -51,7 +51,7 @@ CMC_CREATE_UNIT(sortedlist_test, true, {
});
CMC_CREATE_TEST(buffer_growth[capacity = 1], {
sortedlist *sl = sl_new(1, cmp);
sortedlist *sl = sl_new(100, cmp);
cmc_assert_not_equals(ptr, NULL, sl);
@@ -65,4 +65,76 @@ CMC_CREATE_UNIT(sortedlist_test, true, {
sl_free(sl, NULL);
});
CMC_CREATE_TEST(insert, {
sortedlist *sl = sl_new(100, cmp);
cmc_assert_not_equals(ptr, NULL, sl);
cmc_assert(sl_insert(sl, 1));
sl_free(sl, NULL);
});
CMC_CREATE_TEST(remove, {
sortedlist *sl = sl_new(100, cmp);
cmc_assert_not_equals(ptr, NULL, sl);
cmc_assert(sl_insert(sl, 32));
cmc_assert(sl_remove(sl, 0));
sl_free(sl, NULL);
});
CMC_CREATE_TEST(remove[count = 0], {
sortedlist *sl = sl_new(100, cmp);
cmc_assert_not_equals(ptr, NULL, sl);
cmc_assert(!sl_remove(sl, 0));
sl_free(sl, NULL);
});
CMC_CREATE_TEST(remove[out of range], {
sortedlist *sl = sl_new(100, cmp);
cmc_assert_not_equals(ptr, NULL, sl);
cmc_assert(sl_insert(sl, 32));
cmc_assert(!sl_remove(sl, 2));
sl_free(sl, NULL);
});
CMC_CREATE_TEST(indexof, {
sortedlist *sl = sl_new(1, cmp);
cmc_assert_not_equals(ptr, NULL, sl);
for (size_t i = 0; i < 20; i++)
cmc_assert(sl_insert(sl, i % 10));
/* 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9 */
cmc_assert_equals(size_t, 4, sl_indexof(sl, 2, true));
cmc_assert_equals(size_t, 5, sl_indexof(sl, 2, false));
cmc_assert_equals(size_t, 0, sl_indexof(sl, 0, true));
cmc_assert_equals(size_t, 1, sl_indexof(sl, 0, false));
cmc_assert(sl_remove(sl, 0));
cmc_assert_equals(size_t, 0, sl_indexof(sl, 0, true));
cmc_assert_equals(size_t, 0, sl_indexof(sl, 0, false));
cmc_assert(sl_remove(sl, 0));
cmc_assert_equals(size_t, sl_count(sl), sl_indexof(sl, 0, true));
cmc_assert_equals(size_t, sl_count(sl), sl_indexof(sl, 0, false));
sl_free(sl, NULL);
});
});