aboutsummaryrefslogtreecommitdiff
path: root/test_mini/libft/test/src/lst/test_ft_lstmap.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_lstmap.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_lstmap.c')
-rw-r--r--test_mini/libft/test/src/lst/test_ft_lstmap.c82
1 files changed, 82 insertions, 0 deletions
diff --git a/test_mini/libft/test/src/lst/test_ft_lstmap.c b/test_mini/libft/test/src/lst/test_ft_lstmap.c
new file mode 100644
index 0000000..53c2f7a
--- /dev/null
+++ b/test_mini/libft/test/src/lst/test_ft_lstmap.c
@@ -0,0 +1,82 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_lstmap);
+
+TEST_SETUP(ft_lstmap)
+{}
+
+TEST_TEAR_DOWN(ft_lstmap)
+{}
+
+static void *f_square(void *data)
+{
+ int *d = malloc(sizeof(int));
+
+ *d = *(int*)data;
+ *d = *d * *d;
+ return d;
+}
+
+TEST(ft_lstmap, basic)
+{
+ t_ftlst *lst = NULL;
+ t_ftlst *mapped = NULL;
+ int a = 2;
+ int b = 3;
+ int c = 4;
+ int d = 5;
+
+ mapped = ft_lstmap(lst, f_square, free);
+ TEST_ASSERT_NULL(mapped);
+
+ ft_lstpush_front(&lst, ft_lstnew(&a));
+ mapped = ft_lstmap(lst, f_square, free);
+ TEST_ASSERT_NOT_NULL(mapped);
+ TEST_ASSERT_NOT_NULL(mapped->data);
+ TEST_ASSERT_EQUAL(4, *(int*)mapped->data);
+ TEST_ASSERT_NULL(mapped->next);
+ ft_lstdestroy(&mapped, free);
+
+ ft_lstpush_front(&lst, ft_lstnew(&b));
+ mapped = ft_lstmap(lst, f_square, free);
+ TEST_ASSERT_NOT_NULL(mapped);
+ TEST_ASSERT_NOT_NULL(mapped->data);
+ TEST_ASSERT_EQUAL(9, *(int*)mapped->data);
+ TEST_ASSERT_NOT_NULL(mapped->next);
+ TEST_ASSERT_NOT_NULL(mapped->next->data);
+ TEST_ASSERT_EQUAL(4, *(int*)mapped->next->data);
+ TEST_ASSERT_NULL(mapped->next->next);
+ ft_lstdestroy(&mapped, free);
+
+ ft_lstpush_front(&lst, ft_lstnew(&c));
+ mapped = ft_lstmap(lst, f_square, free);
+ TEST_ASSERT_NOT_NULL(mapped);
+ TEST_ASSERT_NOT_NULL(mapped->data);
+ TEST_ASSERT_EQUAL(16, *(int*)mapped->data);
+ TEST_ASSERT_NOT_NULL(mapped->next);
+ TEST_ASSERT_NOT_NULL(mapped->next->data);
+ TEST_ASSERT_EQUAL(9, *(int*)mapped->next->data);
+ TEST_ASSERT_NOT_NULL(mapped->next->next);
+ TEST_ASSERT_NOT_NULL(mapped->next->next->data);
+ TEST_ASSERT_EQUAL(4, *(int*)mapped->next->next->data);
+ TEST_ASSERT_NULL(mapped->next->next->next);
+ ft_lstdestroy(&mapped, free);
+
+ ft_lstpush_front(&lst, ft_lstnew(&d));
+ mapped = ft_lstmap(lst, f_square, free);
+ TEST_ASSERT_NOT_NULL(mapped);
+ TEST_ASSERT_NOT_NULL(mapped->data);
+ TEST_ASSERT_EQUAL(25, *(int*)mapped->data);
+ TEST_ASSERT_NOT_NULL(mapped->next);
+ TEST_ASSERT_NOT_NULL(mapped->next->data);
+ TEST_ASSERT_EQUAL(16, *(int*)mapped->next->data);
+ TEST_ASSERT_NOT_NULL(mapped->next->next);
+ TEST_ASSERT_NOT_NULL(mapped->next->next->data);
+ TEST_ASSERT_EQUAL(9, *(int*)mapped->next->next->data);
+ TEST_ASSERT_NOT_NULL(mapped->next->next->next);
+ TEST_ASSERT_NOT_NULL(mapped->next->next->next->data);
+ TEST_ASSERT_EQUAL(4, *(int*)mapped->next->next->next->data);
+ ft_lstdestroy(&mapped, free);
+
+ ft_lstdestroy(&lst, NULL);
+}