From d2adb901779e0069ecbd023114d5e689cebf2eba Mon Sep 17 00:00:00 2001 From: Josh Rahm Date: Sun, 29 Nov 2020 22:27:09 -0700 Subject: Add linked list header. --- tests/test_linked_list.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 tests/test_linked_list.c (limited to 'tests') diff --git a/tests/test_linked_list.c b/tests/test_linked_list.c new file mode 100644 index 0000000..401091a --- /dev/null +++ b/tests/test_linked_list.c @@ -0,0 +1,41 @@ +#include "kern/mem.h" +#include "shared/linked_list.h" +#include "test_harness.h" + +LINKED_LIST_STATIC_DECL(int); +LINKED_LIST_STATIC_IMPL(int); + +TEST(linked_list, smell) +{ + linked_list_t(int) ll = LINKED_LIST_INIT; + + ASSERT_EQ(linked_list_length(int)(&ll), 0); + + linked_list_push_front(int)(&ll, 5); + ASSERT_EQ(linked_list_length(int)(&ll), 1); + + linked_list_push_front(int)(&ll, 3); + linked_list_push_back(int)(&ll, 2); + + ASSERT_EQ(linked_list_length(int)(&ll), 3); + ASSERT_EQ(*linked_list_front(int)(&ll), 3); + ASSERT_EQ(*linked_list_back(int)(&ll), 2); + + linked_list_push_back(int)(&ll, 7); + ASSERT_EQ(*linked_list_back(int)(&ll), 7); + linked_list_pop_back(int)(&ll); + ASSERT_EQ(*linked_list_back(int)(&ll), 2); + + linked_list_pop_front(int)(&ll); + + ASSERT_EQ(*linked_list_front(int)(&ll), 5); + + linked_list_pop_front(int)(&ll); + + ASSERT_EQ(*linked_list_front(int)(&ll), 2); + + linked_list_pop_front(int)(&ll); + + ASSERT_EQ(linked_list_front(int)(&ll), NULL); + return 0; +} -- cgit