diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2020-12-05 16:25:27 -0700 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2020-12-05 16:25:27 -0700 |
commit | d29ea8d7fb8cc6f7c3dda1cbca6266908acd4291 (patch) | |
tree | 57b47c0942827b538a46bb3cc808ec13698f1ebf /tests | |
parent | 23fe71639ecdc20a472130de6a2b8d71d8e5d2b0 (diff) | |
download | stm32l4-d29ea8d7fb8cc6f7c3dda1cbca6266908acd4291.tar.gz stm32l4-d29ea8d7fb8cc6f7c3dda1cbca6266908acd4291.tar.bz2 stm32l4-d29ea8d7fb8cc6f7c3dda1cbca6266908acd4291.zip |
Add remove ability to linked list.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_linked_list.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/test_linked_list.c b/tests/test_linked_list.c index 7ec96b5..2c51625 100644 --- a/tests/test_linked_list.c +++ b/tests/test_linked_list.c @@ -60,3 +60,25 @@ TEST(linked_list, foreach) return 0; } + +TEST(linked_list, remove) +{ + linked_list_t(int) ll = LINKED_LIST_INIT; + linked_list_push_front(int)(&ll, 1); + linked_list_push_front(int)(&ll, 2); + linked_list_push_front(int)(&ll, 3); + linked_list_push_front(int)(&ll, 4); + linked_list_push_front(int)(&ll, 4); + + int ec = linked_list_remove(int)(&ll, 4); + ASSERT_EQ(!!ec, 1); + ec = linked_list_remove(int)(&ll, 2); + ASSERT_EQ(!!ec, 1); + ec = linked_list_remove(int)(&ll, 1); + ASSERT_EQ(!!ec, 1); + + ASSERT_EQ(linked_list_length(int)(&ll), 1); + ASSERT_EQ(*linked_list_front(int)(&ll), 3); + + return 0; +} |