Added insert function, not tested yet, tests for delete have been made and all succeded

This commit is contained in:
2026-02-12 17:46:10 -06:00
parent 643fcf9cb6
commit 1e265885c9
3 changed files with 95 additions and 5 deletions

View File

@@ -43,10 +43,60 @@ static void linkedlist_test_delete_head(void **state) {
linkedlist_destroy(ll);
}
static void linkedlist_test_delete_end(void **state) {
(void) state;
LinkedList *ll;
linkedlist_create(&ll, sizeof(int));
for (int i = 0; i < 3; i++) {
linkedlist_append(ll, &i);
}
linkedlist_delete(ll, 2);
size_t len;
linkedlist_len(ll, &len);
assert_int_equal(len, 2);
for (int i = 0; i < 2; i++) {
int n;
linkedlist_get(ll, i, &n);
assert_int_equal(n, i);
}
linkedlist_destroy(ll);
}
static void linkedlist_test_delete_middle(void **state) {
(void) state;
LinkedList *ll;
linkedlist_create(&ll, sizeof(int));
for (int i = 0; i < 3; i++) {
linkedlist_append(ll, &i);
}
linkedlist_delete(ll, 1);
size_t len;
linkedlist_len(ll, &len);
assert_int_equal(len, 2);
int n1;
int n2;
linkedlist_get(ll, 0, &n1);
linkedlist_get(ll, 1, &n2);
assert_int_equal(n1, 0);
assert_int_equal(n2, 2);
linkedlist_destroy(ll);
}
int main(void) {
const struct CMUnitTest tests[] = {
cmocka_unit_test(linkedlist_test_append_3_int),
cmocka_unit_test(linkedlist_test_delete_head),
cmocka_unit_test(linkedlist_test_delete_end),
cmocka_unit_test(linkedlist_test_delete_middle),
};
return cmocka_run_group_tests(tests, NULL, NULL);