aboutsummaryrefslogtreecommitdiff
path: root/test_mini/libft/test/src/lst
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
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')
-rw-r--r--test_mini/libft/test/src/lst/test_ft_lstbsearch.c37
-rw-r--r--test_mini/libft/test/src/lst/test_ft_lstdelone.c26
-rw-r--r--test_mini/libft/test/src/lst/test_ft_lstdestroy.c14
-rw-r--r--test_mini/libft/test/src/lst/test_ft_lstiter.c52
-rw-r--r--test_mini/libft/test/src/lst/test_ft_lstlast.c29
-rw-r--r--test_mini/libft/test/src/lst/test_ft_lstlfind.c55
-rw-r--r--test_mini/libft/test/src/lst/test_ft_lstlsearch.c55
-rw-r--r--test_mini/libft/test/src/lst/test_ft_lstmap.c82
-rw-r--r--test_mini/libft/test/src/lst/test_ft_lstnew.c25
-rw-r--r--test_mini/libft/test/src/lst/test_ft_lstpop_front.c31
-rw-r--r--test_mini/libft/test/src/lst/test_ft_lstpush_back.c41
-rw-r--r--test_mini/libft/test/src/lst/test_ft_lstpush_front.c41
-rw-r--r--test_mini/libft/test/src/lst/test_ft_lstremove_if.c70
-rw-r--r--test_mini/libft/test/src/lst/test_ft_lstreverse.c45
-rw-r--r--test_mini/libft/test/src/lst/test_ft_lstreverse_ret.c45
-rw-r--r--test_mini/libft/test/src/lst/test_ft_lstsize.c37
-rw-r--r--test_mini/libft/test/src/lst/test_ft_lstsort.c38
-rw-r--r--test_mini/libft/test/src/lst/test_ft_lstsorted_merge.c40
18 files changed, 763 insertions, 0 deletions
diff --git a/test_mini/libft/test/src/lst/test_ft_lstbsearch.c b/test_mini/libft/test/src/lst/test_ft_lstbsearch.c
new file mode 100644
index 0000000..81f2578
--- /dev/null
+++ b/test_mini/libft/test/src/lst/test_ft_lstbsearch.c
@@ -0,0 +1,37 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_lstbsearch);
+
+TEST_SETUP(ft_lstbsearch)
+{}
+
+TEST_TEAR_DOWN(ft_lstbsearch)
+{}
+
+TEST(ft_lstbsearch, basic)
+{
+ t_ftlst *found = NULL;
+ t_ftlst *lst = NULL;
+ int a = 1;
+ int b = 2;
+ int c = 3;
+ int d = 4;
+
+ ft_lstpush_front(&lst, ft_lstnew(&c));
+ ft_lstpush_front(&lst, ft_lstnew(&b));
+ ft_lstpush_front(&lst, ft_lstnew(&a));
+ ft_lstpush_front(&lst, ft_lstnew(&a));
+
+ found = ft_lstbsearch(lst, ft_compar_int, &c);
+ TEST_ASSERT_NOT_NULL(found);
+ found = ft_lstbsearch(lst, ft_compar_int, &c);
+ TEST_ASSERT_NOT_NULL(found);
+ found = ft_lstbsearch(lst, ft_compar_int, &b);
+ TEST_ASSERT_NOT_NULL(found);
+ found = ft_lstbsearch(lst, ft_compar_int, &a);
+ TEST_ASSERT_NOT_NULL(found);
+ found = ft_lstbsearch(lst, ft_compar_int, &d);
+ TEST_ASSERT_NULL(found);
+
+ ft_lstdestroy(&lst, NULL);
+}
diff --git a/test_mini/libft/test/src/lst/test_ft_lstdelone.c b/test_mini/libft/test/src/lst/test_ft_lstdelone.c
new file mode 100644
index 0000000..881a93b
--- /dev/null
+++ b/test_mini/libft/test/src/lst/test_ft_lstdelone.c
@@ -0,0 +1,26 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_lstdelone.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/19 02:01:33 by cacharle #+# #+# */
+/* Updated: 2020/02/19 02:07:27 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_lstdelone);
+
+TEST_SETUP(ft_lstdelone)
+{}
+
+TEST_TEAR_DOWN(ft_lstdelone)
+{}
+
+TEST(ft_lstdelone, basic)
+{
+ TEST_PASS(); // how to test free?
+}
diff --git a/test_mini/libft/test/src/lst/test_ft_lstdestroy.c b/test_mini/libft/test/src/lst/test_ft_lstdestroy.c
new file mode 100644
index 0000000..e7b98c5
--- /dev/null
+++ b/test_mini/libft/test/src/lst/test_ft_lstdestroy.c
@@ -0,0 +1,14 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_lstdestroy);
+
+TEST_SETUP(ft_lstdestroy)
+{}
+
+TEST_TEAR_DOWN(ft_lstdestroy)
+{}
+
+TEST(ft_lstdestroy, basic)
+{
+ TEST_PASS(); // how to test free?
+}
diff --git a/test_mini/libft/test/src/lst/test_ft_lstiter.c b/test_mini/libft/test/src/lst/test_ft_lstiter.c
new file mode 100644
index 0000000..53b1380
--- /dev/null
+++ b/test_mini/libft/test/src/lst/test_ft_lstiter.c
@@ -0,0 +1,52 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_lstiter);
+
+TEST_SETUP(ft_lstiter)
+{}
+
+TEST_TEAR_DOWN(ft_lstiter)
+{}
+
+static void square_iter_func(void *data)
+{
+ int *d = (int*)data;
+
+ *d = *d * *d;
+}
+
+TEST(ft_lstiter, basic)
+{
+ t_ftlst *lst = NULL;
+ int a = 2;
+ int b = 3;
+ int c = 4;
+ int d = 5;
+
+ ft_lstiter(lst, square_iter_func);
+ TEST_ASSERT_NULL(lst);
+
+ ft_lstpush_front(&lst, ft_lstnew(&a));
+ ft_lstiter(lst, square_iter_func);
+ TEST_ASSERT_EQUAL(4, *(int*)lst->data);
+
+ ft_lstpush_front(&lst, ft_lstnew(&b));
+ ft_lstiter(lst, square_iter_func);
+ TEST_ASSERT_EQUAL(9, *(int*)lst->data);
+ TEST_ASSERT_EQUAL(16, *(int*)lst->next->data);
+
+ ft_lstpush_front(&lst, ft_lstnew(&c));
+ ft_lstiter(lst, square_iter_func);
+ TEST_ASSERT_EQUAL(16, *(int*)lst->data);
+ TEST_ASSERT_EQUAL(81, *(int*)lst->next->data);
+ TEST_ASSERT_EQUAL(256, *(int*)lst->next->next->data);
+
+ ft_lstpush_front(&lst, ft_lstnew(&d));
+ ft_lstiter(lst, square_iter_func);
+ TEST_ASSERT_EQUAL(25, *(int*)lst->data);
+ TEST_ASSERT_EQUAL(256, *(int*)lst->next->data);
+ TEST_ASSERT_EQUAL(81 * 81, *(int*)lst->next->next->data);
+ TEST_ASSERT_EQUAL(256 * 256, *(int*)lst->next->next->next->data);
+
+ ft_lstdestroy(&lst, NULL);
+}
diff --git a/test_mini/libft/test/src/lst/test_ft_lstlast.c b/test_mini/libft/test/src/lst/test_ft_lstlast.c
new file mode 100644
index 0000000..82c8096
--- /dev/null
+++ b/test_mini/libft/test/src/lst/test_ft_lstlast.c
@@ -0,0 +1,29 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_lstlast);
+
+TEST_SETUP(ft_lstlast)
+{}
+
+TEST_TEAR_DOWN(ft_lstlast)
+{}
+
+TEST(ft_lstlast, basic)
+{
+ t_ftlst *lst = NULL;
+ int a = 1;
+ int b = 2;
+ int c = 3;
+ int d = 4;
+
+ ft_lstpush_front(&lst, ft_lstnew(&a));
+ TEST_ASSERT_EQUAL_PTR(lst, ft_lstlast(lst));
+ ft_lstpush_front(&lst, ft_lstnew(&b));
+ TEST_ASSERT_EQUAL_PTR(lst->next, ft_lstlast(lst));
+ ft_lstpush_front(&lst, ft_lstnew(&c));
+ TEST_ASSERT_EQUAL_PTR(lst->next->next, ft_lstlast(lst));
+ ft_lstpush_front(&lst, ft_lstnew(&d));
+ TEST_ASSERT_EQUAL_PTR(lst->next->next->next, ft_lstlast(lst));
+
+ ft_lstdestroy(&lst, NULL);
+}
diff --git a/test_mini/libft/test/src/lst/test_ft_lstlfind.c b/test_mini/libft/test/src/lst/test_ft_lstlfind.c
new file mode 100644
index 0000000..1851436
--- /dev/null
+++ b/test_mini/libft/test/src/lst/test_ft_lstlfind.c
@@ -0,0 +1,55 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_lstlfind.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/17 03:08:15 by cacharle #+# #+# */
+/* Updated: 2020/02/17 03:34:40 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_lstlfind);
+
+TEST_SETUP(ft_lstlfind)
+{}
+
+TEST_TEAR_DOWN(ft_lstlfind)
+{}
+
+TEST(ft_lstlfind, basic)
+{
+ t_ftlst *found = NULL;
+ t_ftlst *lst = NULL;
+ int a = 1;
+ int b = 2;
+ int c = 3;
+ int d = 4;
+
+ ft_lstpush_front(&lst, ft_lstnew(&c));
+ ft_lstpush_front(&lst, ft_lstnew(&c));
+ ft_lstpush_front(&lst, ft_lstnew(&a));
+ ft_lstpush_front(&lst, ft_lstnew(&c));
+ ft_lstpush_front(&lst, ft_lstnew(&b));
+ ft_lstpush_front(&lst, ft_lstnew(&a));
+ ft_lstpush_front(&lst, ft_lstnew(&a));
+
+ found = ft_lstlfind(lst, ft_compar_int, &c);
+ TEST_ASSERT_EQUAL_PTR(lst->next->next->next, found);
+ found = ft_lstlfind(lst, ft_compar_int, &c);
+ TEST_ASSERT_EQUAL_PTR(lst->next->next->next, found);
+
+ found = ft_lstlfind(lst, ft_compar_int, &b);
+ TEST_ASSERT_EQUAL_PTR(lst->next->next, found);
+
+ found = ft_lstlfind(lst, ft_compar_int, &a);
+ TEST_ASSERT_EQUAL_PTR(lst, found);
+
+ found = ft_lstlfind(lst, ft_compar_int, &d);
+ TEST_ASSERT_NULL(found);
+
+ ft_lstdestroy(&lst, NULL);
+}
diff --git a/test_mini/libft/test/src/lst/test_ft_lstlsearch.c b/test_mini/libft/test/src/lst/test_ft_lstlsearch.c
new file mode 100644
index 0000000..83a8f4e
--- /dev/null
+++ b/test_mini/libft/test/src/lst/test_ft_lstlsearch.c
@@ -0,0 +1,55 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_lstlsearch.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/17 03:21:46 by cacharle #+# #+# */
+/* Updated: 2020/02/17 03:35:37 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_lstlsearch);
+
+TEST_SETUP(ft_lstlsearch)
+{}
+
+TEST_TEAR_DOWN(ft_lstlsearch)
+{}
+
+TEST(ft_lstlsearch, basic)
+{
+ t_ftlst *found = NULL;
+ t_ftlst *lst = NULL;
+ int a = 1;
+ int b = 2;
+ int c = 3;
+ int d = 4;
+
+ ft_lstpush_front(&lst, ft_lstnew(&c));
+ ft_lstpush_front(&lst, ft_lstnew(&c));
+ ft_lstpush_front(&lst, ft_lstnew(&a));
+ ft_lstpush_front(&lst, ft_lstnew(&c));
+ ft_lstpush_front(&lst, ft_lstnew(&b));
+ ft_lstpush_front(&lst, ft_lstnew(&a));
+ ft_lstpush_front(&lst, ft_lstnew(&a));
+
+ found = ft_lstlsearch(lst, ft_compar_int, &c);
+ TEST_ASSERT_EQUAL_PTR(lst->next->next->next, found);
+ found = ft_lstlsearch(lst, ft_compar_int, &c);
+ TEST_ASSERT_EQUAL_PTR(lst->next->next->next, found);
+
+ found = ft_lstlsearch(lst, ft_compar_int, &b);
+ TEST_ASSERT_EQUAL_PTR(lst->next->next, found);
+
+ found = ft_lstlsearch(lst, ft_compar_int, &a);
+ TEST_ASSERT_EQUAL_PTR(lst, found);
+
+ found = ft_lstlsearch(lst, ft_compar_int, &d);
+ TEST_ASSERT_EQUAL_PTR(ft_lstlast(lst), found);
+
+ ft_lstdestroy(&lst, NULL);
+}
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);
+}
diff --git a/test_mini/libft/test/src/lst/test_ft_lstnew.c b/test_mini/libft/test/src/lst/test_ft_lstnew.c
new file mode 100644
index 0000000..518c885
--- /dev/null
+++ b/test_mini/libft/test/src/lst/test_ft_lstnew.c
@@ -0,0 +1,25 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_lstnew);
+
+TEST_SETUP(ft_lstnew)
+{}
+
+TEST_TEAR_DOWN(ft_lstnew)
+{}
+
+TEST(ft_lstnew, basic)
+{
+ t_ftlst *lst;
+ int a = 4;
+
+ lst = ft_lstnew(&a);
+ TEST_ASSERT_NOT_NULL(lst);
+ TEST_ASSERT_EQUAL_PTR(&a, lst->data);
+ TEST_ASSERT_EQUAL(a, *(int*)lst->data);
+
+ /* free(lst); */
+ lst = ft_lstnew(NULL);
+ TEST_ASSERT_NOT_NULL(lst);
+ TEST_ASSERT_NULL(lst->data);
+}
diff --git a/test_mini/libft/test/src/lst/test_ft_lstpop_front.c b/test_mini/libft/test/src/lst/test_ft_lstpop_front.c
new file mode 100644
index 0000000..827afe6
--- /dev/null
+++ b/test_mini/libft/test/src/lst/test_ft_lstpop_front.c
@@ -0,0 +1,31 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_lstpop_front);
+
+TEST_SETUP(ft_lstpop_front)
+{}
+
+TEST_TEAR_DOWN(ft_lstpop_front)
+{}
+
+TEST(ft_lstpop_front, basic)
+{
+ t_ftlst *lst = NULL;
+ int a = 1;
+ int b = 2;
+ int c = 3;
+
+ ft_lstpush_front(&lst, ft_lstnew(&a));
+ ft_lstpush_front(&lst, ft_lstnew(&b));
+ ft_lstpush_front(&lst, ft_lstnew(&c));
+
+ ft_lstpop_front(&lst, NULL);
+ TEST_ASSERT_EQUAL_PTR(&b, lst->data);
+ TEST_ASSERT_EQUAL_PTR(&a, lst->next->data);
+
+ ft_lstpop_front(&lst, NULL);
+ TEST_ASSERT_EQUAL_PTR(&a, lst->data);
+
+ ft_lstpop_front(&lst, NULL);
+ TEST_ASSERT_NULL(lst);
+}
diff --git a/test_mini/libft/test/src/lst/test_ft_lstpush_back.c b/test_mini/libft/test/src/lst/test_ft_lstpush_back.c
new file mode 100644
index 0000000..9f0d97b
--- /dev/null
+++ b/test_mini/libft/test/src/lst/test_ft_lstpush_back.c
@@ -0,0 +1,41 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_lstpush_back);
+
+TEST_SETUP(ft_lstpush_back)
+{}
+
+TEST_TEAR_DOWN(ft_lstpush_back)
+{}
+
+TEST(ft_lstpush_back, basic)
+{
+ t_ftlst *lst;
+ int a = 1;
+ int b = 2;
+ int c = 2;
+
+ lst = ft_lstnew(&a);
+ TEST_ASSERT_NOT_NULL(lst);
+
+ ft_lstpush_back(&lst, ft_lstnew(&b));
+ TEST_ASSERT_NOT_NULL(lst);
+ TEST_ASSERT_EQUAL_PTR(&a, lst->data);
+ TEST_ASSERT_EQUAL(a, *(int*)lst->data);
+ TEST_ASSERT_NOT_NULL(lst->next);
+ TEST_ASSERT_EQUAL_PTR(&b, lst->next->data);
+ TEST_ASSERT_EQUAL(b, *(int*)lst->next->data);
+
+ ft_lstpush_back(&lst, ft_lstnew(&c));
+ TEST_ASSERT_NOT_NULL(lst);
+ TEST_ASSERT_EQUAL_PTR(&a, lst->data);
+ TEST_ASSERT_EQUAL(a, *(int*)lst->data);
+ TEST_ASSERT_NOT_NULL(lst->next);
+ TEST_ASSERT_EQUAL_PTR(&b, lst->next->data);
+ TEST_ASSERT_EQUAL(b, *(int*)lst->next->data);
+ TEST_ASSERT_NOT_NULL(lst->next->next);
+ TEST_ASSERT_EQUAL_PTR(&c, lst->next->next->data);
+ TEST_ASSERT_EQUAL(c, *(int*)lst->next->next->data);
+
+ ft_lstdestroy(&lst, NULL);
+}
diff --git a/test_mini/libft/test/src/lst/test_ft_lstpush_front.c b/test_mini/libft/test/src/lst/test_ft_lstpush_front.c
new file mode 100644
index 0000000..4a6af9f
--- /dev/null
+++ b/test_mini/libft/test/src/lst/test_ft_lstpush_front.c
@@ -0,0 +1,41 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_lstpush_front);
+
+TEST_SETUP(ft_lstpush_front)
+{}
+
+TEST_TEAR_DOWN(ft_lstpush_front)
+{}
+
+TEST(ft_lstpush_front, basic)
+{
+ t_ftlst *lst;
+ int a = 1;
+ int b = 2;
+ int c = 2;
+
+ lst = ft_lstnew(&a);
+ TEST_ASSERT_NOT_NULL(lst);
+
+ ft_lstpush_front(&lst, ft_lstnew(&b));
+ TEST_ASSERT_NOT_NULL(lst);
+ TEST_ASSERT_EQUAL_PTR(&b, lst->data);
+ TEST_ASSERT_EQUAL(b, *(int*)lst->data);
+ TEST_ASSERT_NOT_NULL(lst->next);
+ TEST_ASSERT_EQUAL_PTR(&a, lst->next->data);
+ TEST_ASSERT_EQUAL(a, *(int*)lst->next->data);
+
+ ft_lstpush_front(&lst, ft_lstnew(&c));
+ TEST_ASSERT_NOT_NULL(lst);
+ TEST_ASSERT_EQUAL_PTR(&c, lst->data);
+ TEST_ASSERT_EQUAL(c, *(int*)lst->data);
+ TEST_ASSERT_NOT_NULL(lst->next);
+ TEST_ASSERT_EQUAL_PTR(&b, lst->next->data);
+ TEST_ASSERT_EQUAL(b, *(int*)lst->next->data);
+ TEST_ASSERT_NOT_NULL(lst->next->next);
+ TEST_ASSERT_EQUAL_PTR(&a, lst->next->next->data);
+ TEST_ASSERT_EQUAL(a, *(int*)lst->next->next->data);
+
+ ft_lstdestroy(&lst, NULL);
+}
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);
+}
diff --git a/test_mini/libft/test/src/lst/test_ft_lstreverse.c b/test_mini/libft/test/src/lst/test_ft_lstreverse.c
new file mode 100644
index 0000000..a0a7d4e
--- /dev/null
+++ b/test_mini/libft/test/src/lst/test_ft_lstreverse.c
@@ -0,0 +1,45 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_lstreverse);
+
+TEST_SETUP(ft_lstreverse)
+{}
+
+TEST_TEAR_DOWN(ft_lstreverse)
+{}
+
+TEST(ft_lstreverse, basic)
+{
+ t_ftlst *lst = NULL;
+ int a = 1;
+ int b = 2;
+ int c = 3;
+ int d = 4;
+
+ ft_lstreverse(&lst);
+ TEST_ASSERT_NULL(lst);
+
+ ft_lstpush_front(&lst, ft_lstnew(&a));
+ ft_lstreverse(&lst);
+ TEST_ASSERT_EQUAL_PTR(&a, lst->data);
+
+ ft_lstpush_front(&lst, ft_lstnew(&b));
+ ft_lstreverse(&lst);
+ TEST_ASSERT_EQUAL_PTR(&a, lst->data);
+ TEST_ASSERT_EQUAL_PTR(&b, lst->next->data);
+
+ ft_lstpush_front(&lst, ft_lstnew(&c));
+ ft_lstreverse(&lst);
+ TEST_ASSERT_EQUAL_PTR(&b, lst->data);
+ TEST_ASSERT_EQUAL_PTR(&a, lst->next->data);
+ TEST_ASSERT_EQUAL_PTR(&c, lst->next->next->data);
+
+ ft_lstpush_front(&lst, ft_lstnew(&d));
+ ft_lstreverse(&lst);
+ TEST_ASSERT_EQUAL_PTR(&c, lst->data);
+ TEST_ASSERT_EQUAL_PTR(&a, lst->next->data);
+ TEST_ASSERT_EQUAL_PTR(&b, lst->next->next->data);
+ TEST_ASSERT_EQUAL_PTR(&d, lst->next->next->next->data);
+
+ ft_lstdestroy(&lst, NULL);
+}
diff --git a/test_mini/libft/test/src/lst/test_ft_lstreverse_ret.c b/test_mini/libft/test/src/lst/test_ft_lstreverse_ret.c
new file mode 100644
index 0000000..e6fc278
--- /dev/null
+++ b/test_mini/libft/test/src/lst/test_ft_lstreverse_ret.c
@@ -0,0 +1,45 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_lstreverse_ret);
+
+TEST_SETUP(ft_lstreverse_ret)
+{}
+
+TEST_TEAR_DOWN(ft_lstreverse_ret)
+{}
+
+TEST(ft_lstreverse_ret, basic)
+{
+ t_ftlst *lst = NULL;
+ int a = 1;
+ int b = 2;
+ int c = 3;
+ int d = 4;
+
+ lst = ft_lstreverse_ret(lst);
+ TEST_ASSERT_NULL(lst);
+
+ ft_lstpush_front(&lst, ft_lstnew(&a));
+ lst = ft_lstreverse_ret(lst);
+ TEST_ASSERT_EQUAL_PTR(&a, lst->data);
+
+ ft_lstpush_front(&lst, ft_lstnew(&b));
+ lst = ft_lstreverse_ret(lst);
+ TEST_ASSERT_EQUAL_PTR(&a, lst->data);
+ TEST_ASSERT_EQUAL_PTR(&b, lst->next->data);
+
+ ft_lstpush_front(&lst, ft_lstnew(&c));
+ lst = ft_lstreverse_ret(lst);
+ TEST_ASSERT_EQUAL_PTR(&b, lst->data);
+ TEST_ASSERT_EQUAL_PTR(&a, lst->next->data);
+ TEST_ASSERT_EQUAL_PTR(&c, lst->next->next->data);
+
+ ft_lstpush_front(&lst, ft_lstnew(&d));
+ lst = ft_lstreverse_ret(lst);
+ TEST_ASSERT_EQUAL_PTR(&c, lst->data);
+ TEST_ASSERT_EQUAL_PTR(&a, lst->next->data);
+ TEST_ASSERT_EQUAL_PTR(&b, lst->next->next->data);
+ TEST_ASSERT_EQUAL_PTR(&d, lst->next->next->next->data);
+
+ ft_lstdestroy(&lst, NULL);
+}
diff --git a/test_mini/libft/test/src/lst/test_ft_lstsize.c b/test_mini/libft/test/src/lst/test_ft_lstsize.c
new file mode 100644
index 0000000..d3b78bb
--- /dev/null
+++ b/test_mini/libft/test/src/lst/test_ft_lstsize.c
@@ -0,0 +1,37 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_lstsize);
+
+TEST_SETUP(ft_lstsize)
+{}
+
+TEST_TEAR_DOWN(ft_lstsize)
+{}
+
+TEST(ft_lstsize, basic)
+{
+ t_ftlst *lst = NULL;
+ int a = 1;
+
+ TEST_ASSERT_EQUAL(0, ft_lstsize(lst));
+ lst = ft_lstnew(&a);
+ TEST_ASSERT_EQUAL(1, ft_lstsize(lst));
+ ft_lstpush_front(&lst, ft_lstnew(&a));
+ TEST_ASSERT_EQUAL(2, ft_lstsize(lst));
+ ft_lstpush_front(&lst, ft_lstnew(&a));
+ TEST_ASSERT_EQUAL(3, ft_lstsize(lst));
+ ft_lstpush_front(&lst, ft_lstnew(&a));
+ TEST_ASSERT_EQUAL(4, ft_lstsize(lst));
+ ft_lstpush_front(&lst, ft_lstnew(&a));
+ TEST_ASSERT_EQUAL(5, ft_lstsize(lst));
+ ft_lstpush_front(&lst, ft_lstnew(&a));
+ TEST_ASSERT_EQUAL(6, ft_lstsize(lst));
+ ft_lstpush_front(&lst, ft_lstnew(&a));
+ TEST_ASSERT_EQUAL(7, ft_lstsize(lst));
+ ft_lstpush_front(&lst, ft_lstnew(&a));
+ TEST_ASSERT_EQUAL(8, ft_lstsize(lst));
+ ft_lstpush_front(&lst, ft_lstnew(&a));
+ TEST_ASSERT_EQUAL(9, ft_lstsize(lst));
+
+ ft_lstdestroy(&lst, NULL);
+}
diff --git a/test_mini/libft/test/src/lst/test_ft_lstsort.c b/test_mini/libft/test/src/lst/test_ft_lstsort.c
new file mode 100644
index 0000000..3b771ae
--- /dev/null
+++ b/test_mini/libft/test/src/lst/test_ft_lstsort.c
@@ -0,0 +1,38 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_lstsort);
+
+TEST_SETUP(ft_lstsort)
+{}
+
+TEST_TEAR_DOWN(ft_lstsort)
+{}
+
+TEST(ft_lstsort, basic)
+{
+ t_ftlst *lst = NULL;
+ int a = 1;
+ int b = -1;
+ int c = 4;
+ int d = -3;
+
+ ft_lstpush_front(&lst, ft_lstnew(&a));
+ ft_lstpush_front(&lst, ft_lstnew(&b));
+ ft_lstpush_front(&lst, ft_lstnew(&c));
+ ft_lstpush_front(&lst, ft_lstnew(&d));
+ ft_lstsort(&lst, ft_compar_int);
+
+ 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_NOT_NULL(lst->next->next->next->data);
+
+ TEST_ASSERT_EQUAL(-3, *(int*)lst->data);
+ TEST_ASSERT_EQUAL(-1, *(int*)lst->next->data);
+ TEST_ASSERT_EQUAL(1, *(int*)lst->next->next->data);
+ TEST_ASSERT_EQUAL(4, *(int*)lst->next->next->next->data);
+}
diff --git a/test_mini/libft/test/src/lst/test_ft_lstsorted_merge.c b/test_mini/libft/test/src/lst/test_ft_lstsorted_merge.c
new file mode 100644
index 0000000..9839cd7
--- /dev/null
+++ b/test_mini/libft/test/src/lst/test_ft_lstsorted_merge.c
@@ -0,0 +1,40 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_lstsorted_merge);
+
+TEST_SETUP(ft_lstsorted_merge)
+{}
+
+TEST_TEAR_DOWN(ft_lstsorted_merge)
+{}
+
+TEST(ft_lstsorted_merge, basic)
+{
+ t_ftlst *lst1 = NULL;
+ t_ftlst *lst2 = NULL;
+ int a = 1;
+ int b = 2;
+ int c = 3;
+ int d = 4;
+ int e = 5;
+
+ ft_lstpush_front(&lst1, ft_lstnew(&a));
+ ft_lstpush_front(&lst1, ft_lstnew(&d));
+ ft_lstpush_front(&lst1, ft_lstnew(&e));
+ ft_lstpush_front(&lst1, ft_lstnew(&d));
+ ft_lstpush_front(&lst1, ft_lstnew(&a));
+
+ ft_lstpush_front(&lst2, ft_lstnew(&e));
+ ft_lstpush_front(&lst2, ft_lstnew(&a));
+ ft_lstpush_front(&lst2, ft_lstnew(&b));
+ ft_lstpush_front(&lst2, ft_lstnew(&d));
+ ft_lstpush_front(&lst2, ft_lstnew(&c));
+
+ ft_lstsort(&lst1, ft_compar_int);
+ ft_lstsort(&lst2, ft_compar_int);
+
+ lst1 = ft_lstsorted_merge(lst1, lst2, ft_compar_int);
+ for (; lst1->next != NULL; lst1 = lst1->next)
+ if (ft_compar_int(lst1->data, lst1->next->data) > 0)
+ TEST_FAIL();
+}