Files
LinkedList-ADT/tests/test_linkedlist.c

54 lines
1.2 KiB
C
Raw Normal View History

#include "linkedlist.h"
#include <stdlib.h>
#include <stdarg.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <setjmp.h>
#include <cmocka.h>
static void linkedlist_test_append_3_int(void **state) {
(void) state;
LinkedList *ll;
linkedlist_create(&ll, sizeof(int));
for (int i = 10; i < 13; i++) {
linkedlist_append(ll, &i);
}
for (int i = 0; i < 3; i++) {
int n;
linkedlist_get(ll, i, &n);
assert_int_equal(n, i + 10);
}
linkedlist_destroy(ll);
}
static void linkedlist_test_delete_head(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, 0);
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 + 1);
}
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),
};
return cmocka_run_group_tests(tests, NULL, NULL);
}