aboutsummaryrefslogtreecommitdiff
path: root/test_mini/libft/test/src/lst/test_ft_lstremove_if.c
diff options
context:
space:
mode:
authornass1pro <nass1pro@gmail.com>2020-06-09 19:48:34 +0200
committernass1pro <nass1pro@gmail.com>2020-06-13 11:31:00 +0200
commit579a26f5593039ffbbd1a81e45ecf0ef8797cb5d (patch)
treec5b6761db98e27d15bab3fb45ba9e0a646cf06e0 /test_mini/libft/test/src/lst/test_ft_lstremove_if.c
parent9fabc25a980550afc6337fd729632462f2680daa (diff)
downloadminishell-579a26f5593039ffbbd1a81e45ecf0ef8797cb5d.tar.gz
minishell-579a26f5593039ffbbd1a81e45ecf0ef8797cb5d.tar.bz2
minishell-579a26f5593039ffbbd1a81e45ecf0ef8797cb5d.zip
add lexer
add single quote
Diffstat (limited to 'test_mini/libft/test/src/lst/test_ft_lstremove_if.c')
-rw-r--r--test_mini/libft/test/src/lst/test_ft_lstremove_if.c70
1 files changed, 70 insertions, 0 deletions
diff --git a/test_mini/libft/test/src/lst/test_ft_lstremove_if.c b/test_mini/libft/test/src/lst/test_ft_lstremove_if.c
new file mode 100644
index 0000000..a79016b
--- /dev/null
+++ b/test_mini/libft/test/src/lst/test_ft_lstremove_if.c
@@ -0,0 +1,70 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_lstremove_if);
+
+TEST_SETUP(ft_lstremove_if)
+{}
+
+TEST_TEAR_DOWN(ft_lstremove_if)
+{}
+
+TEST(ft_lstremove_if, basic)
+{
+ t_ftlst *lst = NULL;
+ int a = 1;
+ int b = 2;
+ int c = 3;
+ int d = 4;
+
+ ft_lstpush_back(&lst, ft_lstnew(&a));
+ ft_lstpush_back(&lst, ft_lstnew(&b));
+ ft_lstpush_back(&lst, ft_lstnew(&c));
+ ft_lstpush_back(&lst, ft_lstnew(&d));
+ ft_lstpush_back(&lst, ft_lstnew(&d));
+ ft_lstpush_back(&lst, ft_lstnew(&d));
+ ft_lstpush_back(&lst, ft_lstnew(&a));
+ ft_lstpush_back(&lst, ft_lstnew(&a));
+
+ ft_lstremove_if(&lst, ft_compar_int, &a, NULL);
+ TEST_ASSERT_NOT_NULL(lst);
+ TEST_ASSERT_NOT_NULL(lst->next);
+ TEST_ASSERT_NOT_NULL(lst->next->next);
+ TEST_ASSERT_NOT_NULL(lst->next->next->next);
+ TEST_ASSERT_NOT_NULL(lst->next->next->next->next);
+ TEST_ASSERT_NOT_NULL(lst->data);
+ TEST_ASSERT_NOT_NULL(lst->next->data);
+ TEST_ASSERT_NOT_NULL(lst->next->next->data);
+ TEST_ASSERT_NOT_NULL(lst->next->next->next->data);
+ TEST_ASSERT_NOT_NULL(lst->next->next->next->next->data);
+ TEST_ASSERT_EQUAL(b, *(int*)lst->data);
+ TEST_ASSERT_EQUAL(c, *(int*)lst->next->data);
+ TEST_ASSERT_EQUAL(d, *(int*)lst->next->next->data);
+ TEST_ASSERT_EQUAL(d, *(int*)lst->next->next->next->data);
+ TEST_ASSERT_EQUAL(d, *(int*)lst->next->next->next->next->data);
+
+ ft_lstremove_if(&lst, ft_compar_int, &b, NULL);
+ TEST_ASSERT_NOT_NULL(lst);
+ TEST_ASSERT_NOT_NULL(lst->next);
+ TEST_ASSERT_NOT_NULL(lst->next->next);
+ TEST_ASSERT_NOT_NULL(lst->next->next->next);
+ TEST_ASSERT_NOT_NULL(lst->data);
+ TEST_ASSERT_NOT_NULL(lst->next->data);
+ TEST_ASSERT_NOT_NULL(lst->next->next->data);
+ TEST_ASSERT_EQUAL(c, *(int*)lst->data);
+ TEST_ASSERT_EQUAL(d, *(int*)lst->next->data);
+ TEST_ASSERT_EQUAL(d, *(int*)lst->next->next->data);
+ TEST_ASSERT_EQUAL(d, *(int*)lst->next->next->next->data);
+
+ ft_lstremove_if(&lst, ft_compar_int, &d, NULL);
+ TEST_ASSERT_NOT_NULL(lst);
+ TEST_ASSERT_NOT_NULL(lst->data);
+ TEST_ASSERT_EQUAL(c, *(int*)lst->data);
+
+ ft_lstremove_if(&lst, ft_compar_int, &d, NULL);
+ TEST_ASSERT_NOT_NULL(lst);
+ TEST_ASSERT_NOT_NULL(lst->data);
+ TEST_ASSERT_EQUAL(c, *(int*)lst->data);
+
+ ft_lstremove_if(&lst, ft_compar_int, &c, NULL);
+ TEST_ASSERT_NULL(lst);
+}