diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2020-11-29 22:27:09 -0700 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2020-11-29 22:27:09 -0700 |
commit | d2adb901779e0069ecbd023114d5e689cebf2eba (patch) | |
tree | 9fb20bcd90e81fccefe73e46ad4d5014eb00f8b8 /tests | |
parent | 9caddf6c5c0dce43a531c3dc8cf2831195ea0876 (diff) | |
download | stm32l4-d2adb901779e0069ecbd023114d5e689cebf2eba.tar.gz stm32l4-d2adb901779e0069ecbd023114d5e689cebf2eba.tar.bz2 stm32l4-d2adb901779e0069ecbd023114d5e689cebf2eba.zip |
Add linked list header.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_linked_list.c | 41 |
1 files changed, 41 insertions, 0 deletions
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; +} |