From d29ea8d7fb8cc6f7c3dda1cbca6266908acd4291 Mon Sep 17 00:00:00 2001 From: Josh Rahm Date: Sat, 5 Dec 2020 16:25:27 -0700 Subject: Add remove ability to linked list. --- tests/test_linked_list.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'tests/test_linked_list.c') 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; +} -- cgit