aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2020-12-05 16:25:27 -0700
committerJosh Rahm <joshuarahm@gmail.com>2020-12-05 16:25:27 -0700
commitd29ea8d7fb8cc6f7c3dda1cbca6266908acd4291 (patch)
tree57b47c0942827b538a46bb3cc808ec13698f1ebf /tests
parent23fe71639ecdc20a472130de6a2b8d71d8e5d2b0 (diff)
downloadstm32l4-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.c22
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;
+}