aboutsummaryrefslogtreecommitdiff
path: root/test_mini/libft/test/src
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
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')
-rw-r--r--test_mini/libft/test/src/algo/test_ft_bsearch.c55
-rw-r--r--test_mini/libft/test/src/algo/test_ft_compar_int.c20
-rw-r--r--test_mini/libft/test/src/algo/test_ft_heapsort.c27
-rw-r--r--test_mini/libft/test/src/algo/test_ft_is_set.c23
-rw-r--r--test_mini/libft/test/src/algo/test_ft_lfind.c38
-rw-r--r--test_mini/libft/test/src/algo/test_ft_lsearch.c52
-rw-r--r--test_mini/libft/test/src/algo/test_ft_mergesort.c26
-rw-r--r--test_mini/libft/test/src/algo/test_ft_qsort.c26
-rw-r--r--test_mini/libft/test/src/algo/test_ft_reverse.c19
-rw-r--r--test_mini/libft/test/src/ctype/test_ft_isalnum.c15
-rw-r--r--test_mini/libft/test/src/ctype/test_ft_isalpha.c15
-rw-r--r--test_mini/libft/test/src/ctype/test_ft_isascii.c15
-rw-r--r--test_mini/libft/test/src/ctype/test_ft_isblank.c15
-rw-r--r--test_mini/libft/test/src/ctype/test_ft_isdigit.c15
-rw-r--r--test_mini/libft/test/src/ctype/test_ft_isprint.c15
-rw-r--r--test_mini/libft/test/src/ctype/test_ft_isspace.c15
-rw-r--r--test_mini/libft/test/src/ctype/test_ft_todigit.c20
-rw-r--r--test_mini/libft/test/src/ctype/test_ft_tolower.c15
-rw-r--r--test_mini/libft/test/src/ctype/test_ft_toupper.c15
-rw-r--r--test_mini/libft/test/src/ht/test_ft_htdelone.c68
-rw-r--r--test_mini/libft/test/src/ht/test_ft_htdestroy.c38
-rw-r--r--test_mini/libft/test/src/ht/test_ft_htget.c114
-rw-r--r--test_mini/libft/test/src/ht/test_ft_hthash.c0
-rw-r--r--test_mini/libft/test/src/ht/test_ft_htnew.c48
-rw-r--r--test_mini/libft/test/src/ht/test_ft_htset.c100
-rw-r--r--test_mini/libft/test/src/ht/test_ftht_entry_new.c43
-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
-rw-r--r--test_mini/libft/test/src/main.c85
-rw-r--r--test_mini/libft/test/src/mem/test_ft_bzero.c30
-rw-r--r--test_mini/libft/test/src/mem/test_ft_calloc.c33
-rw-r--r--test_mini/libft/test/src/mem/test_ft_memccpy.c45
-rw-r--r--test_mini/libft/test/src/mem/test_ft_memchr.c35
-rw-r--r--test_mini/libft/test/src/mem/test_ft_memcmp.c42
-rw-r--r--test_mini/libft/test/src/mem/test_ft_memcpy.c47
-rw-r--r--test_mini/libft/test/src/mem/test_ft_memmem.c65
-rw-r--r--test_mini/libft/test/src/mem/test_ft_memmove.c39
-rw-r--r--test_mini/libft/test/src/mem/test_ft_memset.c42
-rw-r--r--test_mini/libft/test/src/mem/test_ft_memset_pattern4.c42
-rw-r--r--test_mini/libft/test/src/mem/test_ft_memswap.c41
-rw-r--r--test_mini/libft/test/src/runner/test_runner_algo.c59
-rw-r--r--test_mini/libft/test/src/runner/test_runner_ctype.c64
-rw-r--r--test_mini/libft/test/src/runner/test_runner_ht.c51
-rw-r--r--test_mini/libft/test/src/runner/test_runner_lst.c103
-rw-r--r--test_mini/libft/test/src/runner/test_runner_mem.c69
-rw-r--r--test_mini/libft/test/src/runner/test_runner_str.c6
-rw-r--r--test_mini/libft/test/src/runner/test_runner_vec.c50
-rw-r--r--test_mini/libft/test/src/str/test_ft_strlen.c24
-rw-r--r--test_mini/libft/test/src/vec/test_ft_vecdestroy.c26
-rw-r--r--test_mini/libft/test/src/vec/test_ft_vecgrow.c47
-rw-r--r--test_mini/libft/test/src/vec/test_ft_veciter.c52
-rw-r--r--test_mini/libft/test/src/vec/test_ft_vecnew.c47
-rw-r--r--test_mini/libft/test/src/vec/test_ft_vecpop.c47
-rw-r--r--test_mini/libft/test/src/vec/test_ft_vecpush.c57
-rw-r--r--test_mini/libft/test/src/vec/test_ft_vecremove.c64
71 files changed, 2927 insertions, 0 deletions
diff --git a/test_mini/libft/test/src/algo/test_ft_bsearch.c b/test_mini/libft/test/src/algo/test_ft_bsearch.c
new file mode 100644
index 0000000..27858ee
--- /dev/null
+++ b/test_mini/libft/test/src/algo/test_ft_bsearch.c
@@ -0,0 +1,55 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_bsearch);
+
+TEST_SETUP(ft_bsearch)
+{}
+
+TEST_TEAR_DOWN(ft_bsearch)
+{}
+
+TEST(ft_bsearch, basic)
+{
+ int arr[] = {3, 4, 1, 2, 7, 189, -1, -134, 7, 1, 34};
+ t_ftsearch_const consts;
+
+ int a = 189;
+ consts.key = &a;
+ consts.compar = ft_compar_int;
+
+ size_t nelp = sizeof(arr) / sizeof(int);
+ qsort(arr, nelp, sizeof(int), ft_compar_int);
+
+ void *ptr = ft_bsearch(arr, nelp, sizeof(int), &consts);
+ TEST_ASSERT_EQUAL_PTR(bsearch(consts.key, arr, nelp, sizeof(int), consts.compar), ptr);
+
+ int b = 123;
+ consts.key = &b;
+ ptr = ft_bsearch(arr, nelp, sizeof(int), &consts);
+ TEST_ASSERT_NULL(ptr);
+
+ int c = -134;
+ consts.key = &c;
+ ptr = ft_bsearch(arr, nelp, sizeof(int), &consts);
+ TEST_ASSERT_EQUAL_PTR(bsearch(consts.key, arr, nelp, sizeof(int), consts.compar), ptr);
+
+ int e = 1;
+ consts.key = &e;
+ ptr = ft_bsearch(arr, nelp, sizeof(int), &consts);
+ TEST_ASSERT_EQUAL_PTR(bsearch(consts.key, arr, nelp, sizeof(int), consts.compar), ptr);
+
+ int d = -1;
+ consts.key = &d;
+ ptr = ft_bsearch(arr, nelp, sizeof(int), &consts);
+ TEST_ASSERT_EQUAL_PTR(bsearch(consts.key, arr, nelp, sizeof(int), consts.compar), ptr);
+
+ int f = 34;
+ consts.key = &f;
+ ptr = ft_bsearch(arr, nelp, sizeof(int), &consts);
+ TEST_ASSERT_EQUAL_PTR(bsearch(consts.key, arr, nelp, sizeof(int), consts.compar), ptr);
+
+ int g = 7;
+ consts.key = &g;
+ ptr = ft_bsearch(arr, nelp, sizeof(int), &consts);
+ TEST_ASSERT_EQUAL_PTR(bsearch(consts.key, arr, nelp, sizeof(int), consts.compar), ptr);
+}
diff --git a/test_mini/libft/test/src/algo/test_ft_compar_int.c b/test_mini/libft/test/src/algo/test_ft_compar_int.c
new file mode 100644
index 0000000..39cc322
--- /dev/null
+++ b/test_mini/libft/test/src/algo/test_ft_compar_int.c
@@ -0,0 +1,20 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_compar_int);
+
+TEST_SETUP(ft_compar_int)
+{}
+
+TEST_TEAR_DOWN(ft_compar_int)
+{}
+
+TEST(ft_compar_int, basic)
+{
+ int a = 4;
+ int b = 3;
+
+ TEST_ASSERT_GREATER_THAN(0, ft_compar_int(&a, &b));
+ TEST_ASSERT_LESS_THAN(0, ft_compar_int(&b, &a));
+ TEST_ASSERT_EQUAL(0, ft_compar_int(&a, &a));
+ TEST_ASSERT_EQUAL(0, ft_compar_int(&b, &b));
+}
diff --git a/test_mini/libft/test/src/algo/test_ft_heapsort.c b/test_mini/libft/test/src/algo/test_ft_heapsort.c
new file mode 100644
index 0000000..6c2c3fb
--- /dev/null
+++ b/test_mini/libft/test/src/algo/test_ft_heapsort.c
@@ -0,0 +1,27 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_heapsort);
+
+TEST_SETUP(ft_heapsort)
+{}
+
+TEST_TEAR_DOWN(ft_heapsort)
+{}
+
+static int compar(const void *a, const void *b)
+{
+ return *(int*)a - *(int*)b;
+}
+
+TEST(ft_heapsort, basic)
+{
+ TEST_IGNORE();
+ int arr[] = {3, 4, 1, 2, 7, 189, -1, -134, 7, 1, 34};
+ int sorted_arr[sizeof(arr)];
+
+ memcpy(sorted_arr, arr, sizeof(arr));
+ qsort(sorted_arr, sizeof(arr) / sizeof(int), sizeof(int), compar);
+
+ ft_heapsort(arr, sizeof(arr) / sizeof(int), sizeof(int), compar);
+ TEST_ASSERT_EQUAL_INT_ARRAY(sorted_arr, arr, sizeof(arr) / sizeof(int));
+}
diff --git a/test_mini/libft/test/src/algo/test_ft_is_set.c b/test_mini/libft/test/src/algo/test_ft_is_set.c
new file mode 100644
index 0000000..604ec53
--- /dev/null
+++ b/test_mini/libft/test/src/algo/test_ft_is_set.c
@@ -0,0 +1,23 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_is_set);
+
+TEST_SETUP(ft_is_set)
+{}
+
+TEST_TEAR_DOWN(ft_is_set)
+{}
+
+static int compar(const void *a, const void *b)
+{
+ return *(int*)a - *(int*)b;
+}
+
+TEST(ft_is_set, basic)
+{
+ int arr[] = {3, 4, 1, 2, 7, 189, -1, -134, 7, 1, 34};
+ int unique_arr[] = {3, 4, 2, 189, -1, -134, 7, 1, 34};
+
+ TEST_ASSERT_FALSE(ft_is_set(arr, sizeof(arr) / sizeof(int), sizeof(int), compar));
+ TEST_ASSERT_TRUE(ft_is_set(unique_arr, sizeof(unique_arr) / sizeof(int), sizeof(int), compar));
+}
diff --git a/test_mini/libft/test/src/algo/test_ft_lfind.c b/test_mini/libft/test/src/algo/test_ft_lfind.c
new file mode 100644
index 0000000..0080d55
--- /dev/null
+++ b/test_mini/libft/test/src/algo/test_ft_lfind.c
@@ -0,0 +1,38 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_lfind);
+
+TEST_SETUP(ft_lfind)
+{}
+
+TEST_TEAR_DOWN(ft_lfind)
+{}
+
+TEST(ft_lfind, basic)
+{
+ int arr[] = {3, 4, 1, 2, 7, 189, -1, -134, 7, 1, 34};
+ t_ftsearch_const consts;
+
+ int a = 189;
+ consts.key = &a;
+ consts.compar = ft_compar_int;
+
+ size_t nelp = sizeof(arr) / sizeof(int);
+ void *ptr = ft_lfind(arr, &nelp, sizeof(int), &consts);
+ TEST_ASSERT_EQUAL_PTR(arr + 5, ptr);
+
+ int b = 123;
+ consts.key = &b;
+ ptr = ft_lfind(arr, &nelp, sizeof(int), &consts);
+ TEST_ASSERT_NULL(ptr);
+
+ int c = 34;
+ consts.key = &c;
+ ptr = ft_lfind(arr, &nelp, sizeof(int), &consts);
+ TEST_ASSERT_EQUAL_PTR(arr + 10, ptr);
+
+ int d = 3;
+ consts.key = &d;
+ ptr = ft_lfind(arr, &nelp, sizeof(int), &consts);
+ TEST_ASSERT_EQUAL_PTR(arr, ptr);
+}
diff --git a/test_mini/libft/test/src/algo/test_ft_lsearch.c b/test_mini/libft/test/src/algo/test_ft_lsearch.c
new file mode 100644
index 0000000..13fae13
--- /dev/null
+++ b/test_mini/libft/test/src/algo/test_ft_lsearch.c
@@ -0,0 +1,52 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_lsearch);
+
+TEST_SETUP(ft_lsearch)
+{}
+
+TEST_TEAR_DOWN(ft_lsearch)
+{}
+
+TEST(ft_lsearch, basic)
+{
+ int arr[32] = {3, 4, 1, 2, 7, 189, -1, -134, 7, 1, 34};
+ t_ftsearch_const consts;
+
+ int a = 189;
+ consts.key = &a;
+ consts.compar = ft_compar_int;
+
+ size_t nelp = 11;
+ void *ptr = ft_lsearch(arr, &nelp, sizeof(int), &consts);
+ TEST_ASSERT_EQUAL_PTR(arr + 5, ptr);
+
+ int c = 34;
+ consts.key = &c;
+ ptr = ft_lsearch(arr, &nelp, sizeof(int), &consts);
+ TEST_ASSERT_EQUAL_PTR(arr + 10, ptr);
+
+ int d = 3;
+ consts.key = &d;
+ ptr = ft_lsearch(arr, &nelp, sizeof(int), &consts);
+ TEST_ASSERT_EQUAL_PTR(arr, ptr);
+
+ int b = 123;
+ consts.key = &b;
+ ptr = ft_lsearch(arr, &nelp, sizeof(int), &consts);
+ TEST_ASSERT_EQUAL(12, nelp);
+ TEST_ASSERT_EQUAL(123, arr[11]);
+ TEST_ASSERT_EQUAL_PTR(arr + 11, ptr);
+
+ ptr = ft_lsearch(arr, &nelp, sizeof(int), &consts);
+ TEST_ASSERT_EQUAL(12, nelp);
+ TEST_ASSERT_EQUAL(123, arr[11]);
+ TEST_ASSERT_EQUAL_PTR(arr + 11, ptr);
+
+ int e = 1234;
+ consts.key = &e;
+ ptr = ft_lsearch(arr, &nelp, sizeof(int), &consts);
+ TEST_ASSERT_EQUAL(13, nelp);
+ TEST_ASSERT_EQUAL(1234, arr[12]);
+ TEST_ASSERT_EQUAL_PTR(arr + 12, ptr);
+}
diff --git a/test_mini/libft/test/src/algo/test_ft_mergesort.c b/test_mini/libft/test/src/algo/test_ft_mergesort.c
new file mode 100644
index 0000000..567e31d
--- /dev/null
+++ b/test_mini/libft/test/src/algo/test_ft_mergesort.c
@@ -0,0 +1,26 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_mergesort);
+
+TEST_SETUP(ft_mergesort)
+{}
+
+TEST_TEAR_DOWN(ft_mergesort)
+{}
+
+static int compar(const void *a, const void *b)
+{
+ return *(int*)a - *(int*)b;
+}
+
+TEST(ft_mergesort, basic)
+{
+ int arr[] = {3, 4, 1, 2, 7, 189, -1, -134, 7, 1, 34};
+ int sorted_arr[sizeof(arr)];
+
+ memcpy(sorted_arr, arr, sizeof(arr));
+ qsort(sorted_arr, sizeof(arr) / sizeof(int), sizeof(int), compar);
+
+ ft_mergesort(arr, sizeof(arr) / sizeof(int), sizeof(int), compar);
+ TEST_ASSERT_EQUAL_INT_ARRAY(sorted_arr, arr, sizeof(arr) / sizeof(int));
+}
diff --git a/test_mini/libft/test/src/algo/test_ft_qsort.c b/test_mini/libft/test/src/algo/test_ft_qsort.c
new file mode 100644
index 0000000..25a5ef6
--- /dev/null
+++ b/test_mini/libft/test/src/algo/test_ft_qsort.c
@@ -0,0 +1,26 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_qsort);
+
+TEST_SETUP(ft_qsort)
+{}
+
+TEST_TEAR_DOWN(ft_qsort)
+{}
+
+static int compar(const void *a, const void *b)
+{
+ return *(int*)a - *(int*)b;
+}
+
+TEST(ft_qsort, basic)
+{
+ int arr[] = {3, 4, 1, 2, 7, 189, -1, -134, 7, 1, 34};
+ int sorted_arr[sizeof(arr)];
+
+ memcpy(sorted_arr, arr, sizeof(arr));
+ qsort(sorted_arr, sizeof(arr) / sizeof(int), sizeof(int), compar);
+
+ ft_qsort(arr, sizeof(arr) / sizeof(int), sizeof(int), compar);
+ TEST_ASSERT_EQUAL_INT_ARRAY(sorted_arr, arr, sizeof(arr) / sizeof(int));
+}
diff --git a/test_mini/libft/test/src/algo/test_ft_reverse.c b/test_mini/libft/test/src/algo/test_ft_reverse.c
new file mode 100644
index 0000000..feca520
--- /dev/null
+++ b/test_mini/libft/test/src/algo/test_ft_reverse.c
@@ -0,0 +1,19 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_reverse);
+
+TEST_SETUP(ft_reverse)
+{}
+
+TEST_TEAR_DOWN(ft_reverse)
+{}
+
+TEST(ft_reverse, basic)
+{
+ int arr[] = {3, 4, 1, 2, 7, 189, -1, -134, 7, 1, 34};
+ int rev_arr[] = {34, 1, 7, -134, -1, 189, 7, 2, 1, 4, 3};
+
+ ft_reverse(arr, sizeof(arr) / sizeof(int), sizeof(int));
+ TEST_ASSERT_EQUAL_INT_ARRAY(rev_arr, arr, sizeof(arr) / sizeof(int));
+
+}
diff --git a/test_mini/libft/test/src/ctype/test_ft_isalnum.c b/test_mini/libft/test/src/ctype/test_ft_isalnum.c
new file mode 100644
index 0000000..0019a03
--- /dev/null
+++ b/test_mini/libft/test/src/ctype/test_ft_isalnum.c
@@ -0,0 +1,15 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_isalnum);
+
+TEST_SETUP(ft_isalnum)
+{}
+
+TEST_TEAR_DOWN(ft_isalnum)
+{}
+
+TEST(ft_isalnum, base)
+{
+ for (int i = 0; i <= UCHAR_MAX; i++)
+ TEST_ASSERT_EQUAL(!!isalnum(i), !!ft_isalnum(i));
+}
diff --git a/test_mini/libft/test/src/ctype/test_ft_isalpha.c b/test_mini/libft/test/src/ctype/test_ft_isalpha.c
new file mode 100644
index 0000000..9846985
--- /dev/null
+++ b/test_mini/libft/test/src/ctype/test_ft_isalpha.c
@@ -0,0 +1,15 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_isalpha);
+
+TEST_SETUP(ft_isalpha)
+{}
+
+TEST_TEAR_DOWN(ft_isalpha)
+{}
+
+TEST(ft_isalpha, base)
+{
+ for (int i = 0; i <= UCHAR_MAX; i++)
+ TEST_ASSERT_EQUAL(!!isalpha(i), !!ft_isalpha(i));
+}
diff --git a/test_mini/libft/test/src/ctype/test_ft_isascii.c b/test_mini/libft/test/src/ctype/test_ft_isascii.c
new file mode 100644
index 0000000..c052571
--- /dev/null
+++ b/test_mini/libft/test/src/ctype/test_ft_isascii.c
@@ -0,0 +1,15 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_isascii);
+
+TEST_SETUP(ft_isascii)
+{}
+
+TEST_TEAR_DOWN(ft_isascii)
+{}
+
+TEST(ft_isascii, base)
+{
+ for (int i = 0; i < UCHAR_MAX; i++)
+ TEST_ASSERT_EQUAL(!!isascii(i), !!ft_isascii(i));
+}
diff --git a/test_mini/libft/test/src/ctype/test_ft_isblank.c b/test_mini/libft/test/src/ctype/test_ft_isblank.c
new file mode 100644
index 0000000..3c8460f
--- /dev/null
+++ b/test_mini/libft/test/src/ctype/test_ft_isblank.c
@@ -0,0 +1,15 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_isblank);
+
+TEST_SETUP(ft_isblank)
+{}
+
+TEST_TEAR_DOWN(ft_isblank)
+{}
+
+TEST(ft_isblank, base)
+{
+ for (int i = 0; i <= UCHAR_MAX; i++)
+ TEST_ASSERT_EQUAL(!!isblank(i), !!ft_isblank(i));
+}
diff --git a/test_mini/libft/test/src/ctype/test_ft_isdigit.c b/test_mini/libft/test/src/ctype/test_ft_isdigit.c
new file mode 100644
index 0000000..74c210b
--- /dev/null
+++ b/test_mini/libft/test/src/ctype/test_ft_isdigit.c
@@ -0,0 +1,15 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_isdigit);
+
+TEST_SETUP(ft_isdigit)
+{}
+
+TEST_TEAR_DOWN(ft_isdigit)
+{}
+
+TEST(ft_isdigit, base)
+{
+ for (int i = 0; i <= UCHAR_MAX; i++)
+ TEST_ASSERT_EQUAL(!!isdigit(i), !!ft_isdigit(i));
+}
diff --git a/test_mini/libft/test/src/ctype/test_ft_isprint.c b/test_mini/libft/test/src/ctype/test_ft_isprint.c
new file mode 100644
index 0000000..0f15661
--- /dev/null
+++ b/test_mini/libft/test/src/ctype/test_ft_isprint.c
@@ -0,0 +1,15 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_isprint);
+
+TEST_SETUP(ft_isprint)
+{}
+
+TEST_TEAR_DOWN(ft_isprint)
+{}
+
+TEST(ft_isprint, base)
+{
+ for (int i = 0; i <= UCHAR_MAX; i++)
+ TEST_ASSERT_EQUAL(!!isprint(i), !!ft_isprint(i));
+}
diff --git a/test_mini/libft/test/src/ctype/test_ft_isspace.c b/test_mini/libft/test/src/ctype/test_ft_isspace.c
new file mode 100644
index 0000000..f94a1ea
--- /dev/null
+++ b/test_mini/libft/test/src/ctype/test_ft_isspace.c
@@ -0,0 +1,15 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_isspace);
+
+TEST_SETUP(ft_isspace)
+{}
+
+TEST_TEAR_DOWN(ft_isspace)
+{}
+
+TEST(ft_isspace, base)
+{
+ for (int i = 0; i <= UCHAR_MAX; i++)
+ TEST_ASSERT_EQUAL(!!isspace(i), !!ft_isspace(i));
+}
diff --git a/test_mini/libft/test/src/ctype/test_ft_todigit.c b/test_mini/libft/test/src/ctype/test_ft_todigit.c
new file mode 100644
index 0000000..cd8d9f3
--- /dev/null
+++ b/test_mini/libft/test/src/ctype/test_ft_todigit.c
@@ -0,0 +1,20 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_todigit);
+
+TEST_SETUP(ft_todigit)
+{}
+
+TEST_TEAR_DOWN(ft_todigit)
+{}
+
+TEST(ft_todigit, base)
+{
+ for (int i = 0; i <= UCHAR_MAX; i++)
+ {
+ if (isdigit(i))
+ TEST_ASSERT_EQUAL(i - '0', ft_todigit(i));
+ else
+ TEST_ASSERT_EQUAL(-1, ft_todigit(i));
+ }
+}
diff --git a/test_mini/libft/test/src/ctype/test_ft_tolower.c b/test_mini/libft/test/src/ctype/test_ft_tolower.c
new file mode 100644
index 0000000..9465544
--- /dev/null
+++ b/test_mini/libft/test/src/ctype/test_ft_tolower.c
@@ -0,0 +1,15 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_tolower);
+
+TEST_SETUP(ft_tolower)
+{}
+
+TEST_TEAR_DOWN(ft_tolower)
+{}
+
+TEST(ft_tolower, base)
+{
+ for (int i = 0; i <= UCHAR_MAX; i++)
+ TEST_ASSERT_EQUAL(tolower(i), ft_tolower(i));
+}
diff --git a/test_mini/libft/test/src/ctype/test_ft_toupper.c b/test_mini/libft/test/src/ctype/test_ft_toupper.c
new file mode 100644
index 0000000..b23c08b
--- /dev/null
+++ b/test_mini/libft/test/src/ctype/test_ft_toupper.c
@@ -0,0 +1,15 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_toupper);
+
+TEST_SETUP(ft_toupper)
+{}
+
+TEST_TEAR_DOWN(ft_toupper)
+{}
+
+TEST(ft_toupper, base)
+{
+ for (int i = 0; i <= UCHAR_MAX; i++)
+ TEST_ASSERT_EQUAL(toupper(i), ft_toupper(i));
+}
diff --git a/test_mini/libft/test/src/ht/test_ft_htdelone.c b/test_mini/libft/test/src/ht/test_ft_htdelone.c
new file mode 100644
index 0000000..5ba4822
--- /dev/null
+++ b/test_mini/libft/test/src/ht/test_ft_htdelone.c
@@ -0,0 +1,68 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_htdelone.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/19 02:08:00 by cacharle #+# #+# */
+/* Updated: 2020/02/19 02:46:10 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_htdelone);
+
+TEST_SETUP(ft_htdelone)
+{}
+
+TEST_TEAR_DOWN(ft_htdelone)
+{}
+
+static void st_del(t_ftht_entry *v)
+{
+ free(v->key);
+ free(v);
+}
+
+TEST(ft_htdelone, basic)
+{
+ t_ftht *ht = ft_htnew(3);
+
+ ft_htset(ht, "bonjour", "je", st_del);
+ ft_htset(ht, "a", "yay", st_del);
+ ft_htset(ht, "b", "aasdf", st_del);
+ ft_htset(ht, "c", "a", st_del);
+ ft_htset(ht, "d", "dd", st_del);
+
+ ft_htdelone(ht, "bonjour", st_del);
+ void *ptr = ft_htget(ht, "bonjour");
+ TEST_ASSERT_NULL(ptr);
+ TEST_ASSERT_NOT_NULL(ft_htget(ht, "a"));
+ TEST_ASSERT_NOT_NULL(ft_htget(ht, "b"));
+ TEST_ASSERT_NOT_NULL(ft_htget(ht, "c"));
+ TEST_ASSERT_NOT_NULL(ft_htget(ht, "d"));
+
+ ft_htdelone(ht, "a", st_del);
+ ptr = ft_htget(ht, "a");
+ TEST_ASSERT_NULL(ptr);
+ TEST_ASSERT_NOT_NULL(ft_htget(ht, "b"));
+ TEST_ASSERT_NOT_NULL(ft_htget(ht, "c"));
+ TEST_ASSERT_NOT_NULL(ft_htget(ht, "d"));
+
+ ft_htdelone(ht, "b", st_del);
+ ptr = ft_htget(ht, "b");
+ TEST_ASSERT_NULL(ptr);
+ TEST_ASSERT_NOT_NULL(ft_htget(ht, "c"));
+ TEST_ASSERT_NOT_NULL(ft_htget(ht, "d"));
+
+ ft_htdelone(ht, "c", st_del);
+ ptr = ft_htget(ht, "c");
+ TEST_ASSERT_NULL(ptr);
+ TEST_ASSERT_NOT_NULL(ft_htget(ht, "d"));
+
+ ft_htdelone(ht, "d", st_del);
+ ptr = ft_htget(ht, "d");
+ TEST_ASSERT_NULL(ptr);
+}
diff --git a/test_mini/libft/test/src/ht/test_ft_htdestroy.c b/test_mini/libft/test/src/ht/test_ft_htdestroy.c
new file mode 100644
index 0000000..1512a48
--- /dev/null
+++ b/test_mini/libft/test/src/ht/test_ft_htdestroy.c
@@ -0,0 +1,38 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_htdestroy.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/19 02:45:27 by cacharle #+# #+# */
+/* Updated: 2020/02/19 02:49:36 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_htdestroy);
+
+TEST_SETUP(ft_htdestroy)
+{}
+
+TEST_TEAR_DOWN(ft_htdestroy)
+{}
+
+static void st_del(t_ftht_entry *v)
+{
+ free(v->key);
+ free(v);
+}
+
+TEST(ft_htdestroy, basic)
+{
+ t_ftht *ht = ft_htnew(2);
+
+ ft_htset(ht, "a", "1", st_del);
+ ft_htset(ht, "b", "2", st_del);
+ ft_htset(ht, "c", "3", st_del);
+ ft_htset(ht, "d", "4", st_del);
+ ft_htdestroy(ht, st_del);
+}
diff --git a/test_mini/libft/test/src/ht/test_ft_htget.c b/test_mini/libft/test/src/ht/test_ft_htget.c
new file mode 100644
index 0000000..386c3dc
--- /dev/null
+++ b/test_mini/libft/test/src/ht/test_ft_htget.c
@@ -0,0 +1,114 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_htget);
+
+static t_ftht *ht;
+
+TEST_SETUP(ft_htget)
+{
+ ht = ft_htnew(10);
+}
+
+TEST_TEAR_DOWN(ft_htget)
+{
+ /* ft_htdestroy_key(ht); */
+}
+
+int helper_segfault_pid;
+
+static void st_del(t_ftht_entry *c)
+{
+ free(c->key);
+ free(c);
+}
+
+TEST(ft_htget, segfault)
+{
+ TEST_ASSERT_SEGFAULT(ft_htget((t_ftht*)NULL, ""));
+ TEST_ASSERT_SEGFAULT(ft_htget(ft_htnew(1), (char*)NULL));
+ TEST_ASSERT_SEGFAULT(ft_htget(ft_htnew(1), ""));
+ TEST_ASSERT_SEGFAULT(ft_htget(ft_htnew(1), "asdkfhjaklsdfhahjsdfk"));
+}
+
+TEST(ft_htget, error_null)
+{
+ TEST_ASSERT_NULL(ft_htget(NULL, NULL));
+ TEST_ASSERT_NULL(ft_htget(ht, NULL));
+ TEST_ASSERT_NULL(ft_htget(NULL, ""));
+ TEST_ASSERT_NULL(ft_htget(ht, ""));
+ TEST_ASSERT_NULL(ft_htget(ht, "hi"));
+ TEST_ASSERT_NULL(ft_htget(ht, "asdfkasdflk"));
+ TEST_ASSERT_NULL(ft_htget(ht, "asdhfalsdhflahsdfhjasklehjfklwhjekrlanklshasdfkasdflk"));
+}
+
+TEST(ft_htget, basic)
+{
+ ft_htset(ht, strdup("a"), strdup("data1"), st_del);
+ ft_htset(ht, strdup("b"), strdup("data2"), st_del);
+ ft_htset(ht, strdup("c"), strdup("data3"), st_del);
+
+ char *s = ft_htget(ht, "a");
+ TEST_ASSERT_NOT_NULL(s);
+ TEST_ASSERT_EQUAL_STRING(s, "data1");
+
+ s = ft_htget(ht, "b");
+ TEST_ASSERT_NOT_NULL(s);
+ TEST_ASSERT_EQUAL_STRING(s, "data2");
+
+ s = ft_htget(ht, "c");
+ TEST_ASSERT_NOT_NULL(s);
+ TEST_ASSERT_EQUAL_STRING(s, "data3");
+
+ ft_htset(ht, strdup("a"), strdup("bonjour1"), st_del);
+ ft_htset(ht, strdup("b"), strdup("bonjour2"), st_del);
+ ft_htset(ht, strdup("c"), strdup("bonjour3"), st_del);
+
+ s = ft_htget(ht, "a");
+ TEST_ASSERT_NOT_NULL(s);
+ TEST_ASSERT_EQUAL_STRING(s, "bonjour1");
+
+ s = ft_htget(ht, "b");
+ TEST_ASSERT_NOT_NULL(s);
+ TEST_ASSERT_EQUAL_STRING(s, "bonjour2");
+
+ s = ft_htget(ht, "c");
+ TEST_ASSERT_NOT_NULL(s);
+ TEST_ASSERT_EQUAL_STRING(s, "bonjour3");
+}
+
+TEST(ft_htget, collision)
+{
+ t_ftht *small = ft_htnew(1);
+
+ ft_htset(small, strdup("a"), strdup("data1"), st_del);
+ ft_htset(small, strdup("b"), strdup("data2"), st_del);
+ ft_htset(small, strdup("c"), strdup("data3"), st_del);
+
+ char *s = ft_htget(small, "a");
+ TEST_ASSERT_NOT_NULL(s);
+ TEST_ASSERT_EQUAL_STRING(s, "data1");
+
+ s = ft_htget(small, "b");
+ TEST_ASSERT_NOT_NULL(s);
+ TEST_ASSERT_EQUAL_STRING(s, "data2");
+
+ s = ft_htget(small, "c");
+ TEST_ASSERT_NOT_NULL(s);
+ TEST_ASSERT_EQUAL_STRING(s, "data3");
+
+ ft_htset(small, strdup("a"), strdup("bonjour1"), st_del);
+ ft_htset(small, strdup("b"), strdup("bonjour2"), st_del);
+ ft_htset(small, strdup("c"), strdup("bonjour3"), st_del);
+
+ s = ft_htget(small, "a");
+ TEST_ASSERT_NOT_NULL(s);
+ TEST_ASSERT_EQUAL_STRING(s, "bonjour1");
+
+ s = ft_htget(small, "b");
+ TEST_ASSERT_NOT_NULL(s);
+ TEST_ASSERT_EQUAL_STRING(s, "bonjour2");
+
+ s = ft_htget(small, "c");
+ TEST_ASSERT_NOT_NULL(s);
+ TEST_ASSERT_EQUAL_STRING(s, "bonjour3");
+}
diff --git a/test_mini/libft/test/src/ht/test_ft_hthash.c b/test_mini/libft/test/src/ht/test_ft_hthash.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test_mini/libft/test/src/ht/test_ft_hthash.c
diff --git a/test_mini/libft/test/src/ht/test_ft_htnew.c b/test_mini/libft/test/src/ht/test_ft_htnew.c
new file mode 100644
index 0000000..17bca6a
--- /dev/null
+++ b/test_mini/libft/test/src/ht/test_ft_htnew.c
@@ -0,0 +1,48 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_htnew.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/12 22:30:06 by cacharle #+# #+# */
+/* Updated: 2020/02/28 12:15:32 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_htnew);
+
+TEST_SETUP(ft_htnew)
+{}
+
+TEST_TEAR_DOWN(ft_htnew)
+{}
+
+int helper_segfault_pid;
+
+TEST(ft_htnew, segfault)
+{
+ TEST_ASSERT_SEGFAULT(ft_htnew(10));
+ TEST_ASSERT_SEGFAULT(ft_htnew(0));
+ TEST_ASSERT_SEGFAULT(ft_htnew((1 << 14) + 1));
+}
+
+TEST(ft_htnew, error_null)
+{
+ TEST_ASSERT_NOT_NULL(ft_htnew(10));
+ TEST_ASSERT_NULL(ft_htnew(0));
+}
+
+TEST(ft_htnew, happy_path)
+{
+ t_ftht *ht;
+
+ ht = ft_htnew(10);
+ TEST_ASSERT_NOT_NULL(ht);
+ TEST_ASSERT_EQUAL(10, ht->size);
+ TEST_ASSERT_NOT_NULL(ht->buckets);
+ for (t_ftsize i = 0; i < ht->size; i++)
+ TEST_ASSERT_NULL(ht->buckets[i]);
+}
diff --git a/test_mini/libft/test/src/ht/test_ft_htset.c b/test_mini/libft/test/src/ht/test_ft_htset.c
new file mode 100644
index 0000000..96d848e
--- /dev/null
+++ b/test_mini/libft/test/src/ht/test_ft_htset.c
@@ -0,0 +1,100 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_htset);
+
+static t_ftht *ht;
+
+TEST_SETUP(ft_htset)
+{
+ ht = ft_htnew(10);
+}
+
+TEST_TEAR_DOWN(ft_htset)
+{
+ /* ft_htdestroy_key(ht); */
+}
+
+static void st_del(t_ftht_entry *c)
+{
+ free(c->key);
+ free(c);
+}
+
+TEST(ft_htset, segfault)
+{
+ TEST_ASSERT_SEGFAULT(ft_htset(NULL, "", strdup(""), NULL));
+ TEST_ASSERT_SEGFAULT(ft_htset(ft_htnew(1), NULL, strdup(""), NULL));
+ TEST_ASSERT_SEGFAULT(ft_htset(ft_htnew(1), "", NULL, NULL));
+ TEST_ASSERT_SEGFAULT(ft_htset(ft_htnew(1), "", strdup(""), NULL));
+ TEST_ASSERT_SEGFAULT(ft_htset(ft_htnew(1), "hi", strdup(""), NULL));
+ TEST_ASSERT_SEGFAULT(ft_htset(ft_htnew(1), "asdfasdfasdc", strdup(""), NULL));
+}
+
+TEST(ft_htset, error_null)
+{
+ TEST_ASSERT_NULL(ft_htset(NULL, "", strdup("1"), NULL));
+ TEST_ASSERT_NULL(ft_htset(ht, NULL, strdup("2"), NULL));
+ TEST_ASSERT_NOT_NULL(ft_htset(ht, "", strdup("3"), NULL));
+ TEST_ASSERT_NOT_NULL(ft_htset(ht, "a", strdup("4"), NULL));
+ TEST_ASSERT_NOT_NULL(ft_htset(ht, "b", strdup("5"), NULL));
+ TEST_ASSERT_NOT_NULL(ft_htset(ht, "c", strdup("6"), NULL));
+ TEST_ASSERT_NOT_NULL(ft_htset(ht, "d", strdup("7"), NULL));
+}
+
+TEST(ft_htset, happy_path)
+{
+ t_ftht_entry *content = ft_htset(ht, "bonjour", strdup("content"), NULL);
+ TEST_ASSERT_NOT_NULL(content);
+ TEST_ASSERT_NOT_NULL(content->key);
+ TEST_ASSERT_NOT_NULL(content->value);
+ TEST_ASSERT_EQUAL_STRING(content->key, "bonjour");
+ TEST_ASSERT_EQUAL_STRING(content->value, "content");
+}
+
+TEST(ft_htset, reset)
+{
+ t_ftht *small = NULL;
+
+ small = ft_htnew(3);
+
+ t_ftht_entry *content = ft_htset(small, "bonjour", ft_strdup("content"), st_del);
+ TEST_ASSERT_NOT_NULL(content);
+ TEST_ASSERT_NOT_NULL(content->key);
+ TEST_ASSERT_NOT_NULL(content->value);
+ TEST_ASSERT_EQUAL_STRING(content->key, "bonjour");
+ TEST_ASSERT_EQUAL_STRING(content->value, "content");
+
+ t_ftht_entry *content_re = ft_htset(small, "bonjour", ft_strdup("yo"), st_del);
+ TEST_ASSERT_NOT_NULL(content_re);
+ TEST_ASSERT_NOT_NULL(content_re->key);
+ TEST_ASSERT_NOT_NULL(content_re->value);
+ TEST_ASSERT_EQUAL_STRING("bonjour", content_re->key);
+ TEST_ASSERT_EQUAL_STRING("yo", content_re->value);
+}
+
+TEST(ft_htset, collision)
+{
+ t_ftht *small = NULL;
+ small = ft_htnew(1);
+
+ t_ftht_entry *content1 = ft_htset(small, "bonjour", strdup("content1"), st_del);
+ TEST_ASSERT_NOT_NULL(content1);
+ TEST_ASSERT_NOT_NULL(content1->key);
+ TEST_ASSERT_NOT_NULL(content1->value);
+ TEST_ASSERT_EQUAL_STRING(content1->key, "bonjour");
+ TEST_ASSERT_EQUAL_STRING(content1->value, "content1");
+
+ t_ftht_entry *content2 = ft_htset(small, "aurevoir", strdup("content2"), st_del);
+ TEST_ASSERT_NOT_NULL(content2);
+ TEST_ASSERT_NOT_NULL(content2->key);
+ TEST_ASSERT_NOT_NULL(content2->value);
+ TEST_ASSERT_EQUAL_STRING(content2->key, "aurevoir");
+ TEST_ASSERT_EQUAL_STRING(content2->value, "content2");
+
+ t_ftht_entry *content3 = ft_htset(small, "aloa", strdup("content3"), st_del);
+ TEST_ASSERT_NOT_NULL(content3);
+ TEST_ASSERT_NOT_NULL(content3->key);
+ TEST_ASSERT_NOT_NULL(content3->value);
+ TEST_ASSERT_EQUAL_STRING(content3->key, "aloa");
+ TEST_ASSERT_EQUAL_STRING(content3->value, "content3");
+}
diff --git a/test_mini/libft/test/src/ht/test_ftht_entry_new.c b/test_mini/libft/test/src/ht/test_ftht_entry_new.c
new file mode 100644
index 0000000..a566600
--- /dev/null
+++ b/test_mini/libft/test/src/ht/test_ftht_entry_new.c
@@ -0,0 +1,43 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_htentry_new.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/17 04:07:04 by cacharle #+# #+# */
+/* Updated: 2020/02/17 04:15:39 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_htentry_new);
+
+TEST_SETUP(ft_htentry_new)
+{}
+
+TEST_TEAR_DOWN(ft_htentry_new)
+{}
+
+TEST(ft_htentry_new, basic)
+{
+ t_ftht_entry *c = NULL;
+
+ char *k = "bonjour";
+ c = ft_htentry_new(k, NULL);
+ TEST_ASSERT_NOT_NULL(c);
+ TEST_ASSERT(k != c->key);
+ TEST_ASSERT_EQUAL_STRING(k, c->key);
+ TEST_ASSERT_NULL(c->value);
+
+ c = ft_htentry_new(k, k);
+ TEST_ASSERT_NOT_NULL(c);
+ TEST_ASSERT(k != c->key);
+ TEST_ASSERT_EQUAL_STRING(k, c->key);
+ TEST_ASSERT_EQUAL_PTR(k, c->value);
+ TEST_ASSERT_EQUAL_STRING(k, (char*)c->value);
+
+ /* free(c->key); */
+ /* free(c); */
+}
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();
+}
diff --git a/test_mini/libft/test/src/main.c b/test_mini/libft/test/src/main.c
new file mode 100644
index 0000000..8884f81
--- /dev/null
+++ b/test_mini/libft/test/src/main.c
@@ -0,0 +1,85 @@
+#include "libft_test.h"
+
+static void run_all_test(void)
+{
+ // ctype
+ RUN_TEST_GROUP(ft_isalnum);
+ RUN_TEST_GROUP(ft_isalpha);
+ RUN_TEST_GROUP(ft_isascii);
+ RUN_TEST_GROUP(ft_isblank);
+ RUN_TEST_GROUP(ft_isdigit);
+ RUN_TEST_GROUP(ft_isprint);
+ RUN_TEST_GROUP(ft_isspace);
+ RUN_TEST_GROUP(ft_todigit);
+ RUN_TEST_GROUP(ft_tolower);
+ RUN_TEST_GROUP(ft_toupper);
+
+ // mem
+ RUN_TEST_GROUP(ft_bzero);
+ RUN_TEST_GROUP(ft_calloc);
+ RUN_TEST_GROUP(ft_memccpy);
+ RUN_TEST_GROUP(ft_memchr);
+ RUN_TEST_GROUP(ft_memcmp);
+ RUN_TEST_GROUP(ft_memcpy);
+ RUN_TEST_GROUP(ft_memmem);
+ RUN_TEST_GROUP(ft_memmove);
+ RUN_TEST_GROUP(ft_memset);
+ RUN_TEST_GROUP(ft_memset_pattern4);
+ RUN_TEST_GROUP(ft_memswap);
+
+ // str
+ RUN_TEST_GROUP(ft_strlen);
+
+ // ht
+ RUN_TEST_GROUP(ft_htentry_new);
+ RUN_TEST_GROUP(ft_htnew);
+ RUN_TEST_GROUP(ft_htget);
+ RUN_TEST_GROUP(ft_htset);
+ RUN_TEST_GROUP(ft_htdelone);
+ RUN_TEST_GROUP(ft_htdestroy);
+
+ // algo
+ RUN_TEST_GROUP(ft_bsearch);
+ RUN_TEST_GROUP(ft_compar_int);
+ RUN_TEST_GROUP(ft_heapsort);
+ RUN_TEST_GROUP(ft_is_set);
+ RUN_TEST_GROUP(ft_lfind);
+ RUN_TEST_GROUP(ft_lsearch);
+ RUN_TEST_GROUP(ft_mergesort);
+ RUN_TEST_GROUP(ft_qsort);
+ RUN_TEST_GROUP(ft_reverse);
+
+ // lst
+ RUN_TEST_GROUP(ft_lstpush_back);
+ RUN_TEST_GROUP(ft_lstpush_front);
+ RUN_TEST_GROUP(ft_lstbsearch);
+ RUN_TEST_GROUP(ft_lstlsearch);
+ RUN_TEST_GROUP(ft_lstlfind);
+ RUN_TEST_GROUP(ft_lstdestroy);
+ RUN_TEST_GROUP(ft_lstdelone);
+ RUN_TEST_GROUP(ft_lstiter);
+ RUN_TEST_GROUP(ft_lstlast);
+ RUN_TEST_GROUP(ft_lstmap);
+ RUN_TEST_GROUP(ft_lstnew);
+ RUN_TEST_GROUP(ft_lstpop_front);
+ RUN_TEST_GROUP(ft_lstremove_if);
+ RUN_TEST_GROUP(ft_lstreverse);
+ RUN_TEST_GROUP(ft_lstreverse_ret);
+ RUN_TEST_GROUP(ft_lstsize);
+ RUN_TEST_GROUP(ft_lstsort);
+ RUN_TEST_GROUP(ft_lstsorted_merge);
+
+ // vec
+ RUN_TEST_GROUP(ft_vecdestroy);
+ RUN_TEST_GROUP(ft_vecgrow);
+ RUN_TEST_GROUP(ft_veciter);
+ RUN_TEST_GROUP(ft_vecnew);
+ RUN_TEST_GROUP(ft_vecpop);
+ RUN_TEST_GROUP(ft_vecpush);
+ RUN_TEST_GROUP(ft_vecremove);
+}
+
+int main(int argc, const char **argv)
+{
+ return UnityMain(argc, argv, run_all_test);
+}
diff --git a/test_mini/libft/test/src/mem/test_ft_bzero.c b/test_mini/libft/test/src/mem/test_ft_bzero.c
new file mode 100644
index 0000000..20e560d
--- /dev/null
+++ b/test_mini/libft/test/src/mem/test_ft_bzero.c
@@ -0,0 +1,30 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_bzero.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/13 03:32:20 by cacharle #+# #+# */
+/* Updated: 2020/02/13 04:30:39 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_bzero);
+
+TEST_SETUP(ft_bzero)
+{}
+
+TEST_TEAR_DOWN(ft_bzero)
+{}
+
+TEST(ft_bzero, basic)
+{
+ char buf[32] = {'a'};
+
+ ft_bzero(buf, 32);
+ for (int i = 0; i < 32; i++)
+ TEST_ASSERT_EQUAL(0x0, buf[i]);
+}
diff --git a/test_mini/libft/test/src/mem/test_ft_calloc.c b/test_mini/libft/test/src/mem/test_ft_calloc.c
new file mode 100644
index 0000000..0df9b95
--- /dev/null
+++ b/test_mini/libft/test/src/mem/test_ft_calloc.c
@@ -0,0 +1,33 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_calloc);
+
+TEST_SETUP(ft_calloc)
+{}
+
+TEST_TEAR_DOWN(ft_calloc)
+{}
+
+TEST(ft_calloc, basic)
+{
+ char *ptr = NULL;
+
+ ptr = ft_calloc(45, sizeof(char));
+ TEST_ASSERT_NOT_NULL(ptr);
+#ifdef __APPLE__
+ TEST_ASSERT_GREATER_THAN(45 * sizeof(char) - 1, malloc_size(ptr));
+#endif
+ for (int i = 0; i < 45; i++)
+ TEST_ASSERT_EQUAL(0x0, ptr[i]);
+ /* free(ptr); */
+
+ int *ptrint = NULL;
+ ptrint = ft_calloc(10, sizeof(int));
+ TEST_ASSERT_NOT_NULL(ptr);
+#ifdef __APPLE__
+ TEST_ASSERT_GREATER_THAN(10 * sizeof(int) - 1, malloc_size(ptrint));
+#endif
+ for (int i = 0; i < 10; i++)
+ TEST_ASSERT_EQUAL(0x0, ptrint[i]);
+ /* free(ptrint); */
+}
diff --git a/test_mini/libft/test/src/mem/test_ft_memccpy.c b/test_mini/libft/test/src/mem/test_ft_memccpy.c
new file mode 100644
index 0000000..39925a1
--- /dev/null
+++ b/test_mini/libft/test/src/mem/test_ft_memccpy.c
@@ -0,0 +1,45 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_memccpy.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/13 03:34:13 by cacharle #+# #+# */
+/* Updated: 2020/02/13 19:35:17 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_memccpy);
+
+TEST_SETUP(ft_memccpy)
+{}
+
+TEST_TEAR_DOWN(ft_memccpy)
+{}
+
+TEST(ft_memccpy, basic)
+{
+ char buf[32] = "bonjour";
+ char buf2[32] = {0};
+
+ char *ptr = ft_memccpy(buf2, buf, 0x0, 32);
+ TEST_ASSERT_EQUAL_PTR(&buf2[8], ptr);
+ for (int i = 0; i < 32; i++)
+ TEST_ASSERT_EQUAL_CHAR(buf[i], buf2[i]);
+
+ ptr = ft_memccpy(buf2, buf, 0x1, 32);
+ TEST_ASSERT_NULL(ptr);
+ for (int i = 0; i < 32; i++)
+ TEST_ASSERT_EQUAL_CHAR(buf[i], buf2[i]);
+
+ char buf3[10] = "aurevoir";
+ ptr = ft_memccpy(buf, buf3, 'e', 10);
+ TEST_ASSERT_EQUAL_PTR(buf + 4, ptr);
+ for (int i = 0; i < 4; i++)
+ TEST_ASSERT_EQUAL_CHAR(buf[i], buf3[i]);
+ for (int i = 4; i < 32; i++)
+ TEST_ASSERT_EQUAL_CHAR(buf[i], buf2[i]);
+}
diff --git a/test_mini/libft/test/src/mem/test_ft_memchr.c b/test_mini/libft/test/src/mem/test_ft_memchr.c
new file mode 100644
index 0000000..135edfb
--- /dev/null
+++ b/test_mini/libft/test/src/mem/test_ft_memchr.c
@@ -0,0 +1,35 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_memchr.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/13 03:33:14 by cacharle #+# #+# */
+/* Updated: 2020/02/13 19:38:17 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_memchr);
+
+TEST_SETUP(ft_memchr)
+{}
+
+TEST_TEAR_DOWN(ft_memchr)
+{}
+
+TEST(ft_memchr, basic)
+{
+ char *a = "bonjour";
+
+ char *ptr = ft_memchr(a, 'j', sizeof(a));
+ TEST_ASSERT_EQUAL_PTR(a + 3, ptr);
+
+ ptr = ft_memchr(a, 'z', sizeof(a));
+ TEST_ASSERT_NULL(ptr);
+
+ ptr = ft_memchr(a, '\0', sizeof(a));
+ TEST_ASSERT_EQUAL_PTR(a + 7, ptr);
+}
diff --git a/test_mini/libft/test/src/mem/test_ft_memcmp.c b/test_mini/libft/test/src/mem/test_ft_memcmp.c
new file mode 100644
index 0000000..81871a1
--- /dev/null
+++ b/test_mini/libft/test/src/mem/test_ft_memcmp.c
@@ -0,0 +1,42 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_memcmp.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/13 03:32:16 by cacharle #+# #+# */
+/* Updated: 2020/02/13 19:41:08 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_memcmp);
+
+TEST_SETUP(ft_memcmp)
+{}
+
+TEST_TEAR_DOWN(ft_memcmp)
+{}
+
+TEST(ft_memcmp, basic)
+{
+ char buf1[32] = "bonjour";
+ char buf2[32] = "bonjoure";
+
+ int res = ft_memcmp(buf1, buf2, 32);
+ TEST_ASSERT_LESS_THAN(0, res);
+
+ res = ft_memcmp(buf2, buf1, 32);
+ TEST_ASSERT_GREATER_THAN(0, res);
+
+ res = ft_memcmp(buf2, buf1, 7);
+ TEST_ASSERT_EQUAL(0, res);
+ res = ft_memcmp(buf2, buf1, 6);
+ TEST_ASSERT_EQUAL(0, res);
+ res = ft_memcmp(buf2, buf1, 3);
+ TEST_ASSERT_EQUAL(0, res);
+ res = ft_memcmp(buf2, buf1, 0);
+ TEST_ASSERT_EQUAL(0, res);
+}
diff --git a/test_mini/libft/test/src/mem/test_ft_memcpy.c b/test_mini/libft/test/src/mem/test_ft_memcpy.c
new file mode 100644
index 0000000..3afe817
--- /dev/null
+++ b/test_mini/libft/test/src/mem/test_ft_memcpy.c
@@ -0,0 +1,47 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_memcpy.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/13 03:33:22 by cacharle #+# #+# */
+/* Updated: 2020/02/13 04:27:55 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_memcpy);
+
+TEST_SETUP(ft_memcpy)
+{}
+
+TEST_TEAR_DOWN(ft_memcpy)
+{}
+
+TEST(ft_memcpy, basic)
+{
+ void *ptr;
+ unsigned char buf1[32] = {0};
+ unsigned char buf2[32] = "bonjour";
+
+ ptr = ft_memcpy(buf1, buf2, 32);
+ TEST_ASSERT_NOT_NULL(ptr);
+ TEST_ASSERT_EQUAL_PTR(buf1, ptr);
+ TEST_ASSERT_EQUAL(0, memcmp(buf1, buf2, 32));
+
+ ptr = ft_memcpy(buf1, "yo", 3);
+ TEST_ASSERT_NOT_NULL(ptr);
+ TEST_ASSERT_EQUAL_PTR(buf1, ptr);
+ TEST_ASSERT_EQUAL(0, memcmp(buf1, "yo", 3));
+ TEST_ASSERT_EQUAL(0, memcmp(buf1 + 3, buf2 + 3, 32 - 3));
+
+ char saved[32];
+
+ memcpy(saved, buf2, 32);
+ ptr = ft_memcpy(buf2, "", 0);
+ TEST_ASSERT_NOT_NULL(ptr);
+ TEST_ASSERT_EQUAL_PTR(buf2, ptr);
+ TEST_ASSERT_EQUAL(0, memcmp(buf2, saved, 32));
+}
diff --git a/test_mini/libft/test/src/mem/test_ft_memmem.c b/test_mini/libft/test/src/mem/test_ft_memmem.c
new file mode 100644
index 0000000..67514a5
--- /dev/null
+++ b/test_mini/libft/test/src/mem/test_ft_memmem.c
@@ -0,0 +1,65 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_memmem.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/13 03:33:50 by cacharle #+# #+# */
+/* Updated: 2020/02/13 21:04:22 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_memmem);
+
+TEST_SETUP(ft_memmem)
+{}
+
+TEST_TEAR_DOWN(ft_memmem)
+{}
+
+TEST(ft_memmem, basic)
+{
+ char haystack[32] = "bonjour";
+ char *ptr;
+
+ ptr = ft_memmem(haystack, sizeof(haystack), "jour\0", 5);
+ TEST_ASSERT_EQUAL_PTR(haystack + 3, ptr);
+
+ ptr = ft_memmem(haystack, sizeof(haystack), "jour", 4);
+ TEST_ASSERT_EQUAL_PTR(haystack + 3, ptr);
+
+ ptr = ft_memmem(haystack, sizeof(haystack), "jo", 2);
+ TEST_ASSERT_EQUAL_PTR(haystack + 3, ptr);
+
+ ptr = ft_memmem(haystack, sizeof(haystack), "j", 1);
+ TEST_ASSERT_EQUAL_PTR(haystack + 3, ptr);
+
+ ptr = ft_memmem(haystack, sizeof(haystack), "yo", 2);
+ TEST_ASSERT_NULL(ptr);
+
+ ptr = ft_memmem(haystack, sizeof(haystack), "\0", 1);
+ TEST_ASSERT_EQUAL_PTR(haystack + 7, ptr);
+
+ ptr = ft_memmem(haystack, sizeof(haystack), "bon", 3);
+ TEST_ASSERT_EQUAL_PTR(haystack, ptr);
+
+ ptr = ft_memmem(haystack, sizeof(haystack), "on", 2);
+ TEST_ASSERT_EQUAL_PTR(haystack + 1, ptr);
+}
+
+TEST(ft_memmem, invalid_len)
+{
+ char buf[32] = {0};
+
+ void *ptr = ft_memmem(buf, 2, "jour", 4);
+ TEST_ASSERT_NULL(ptr);
+
+ ptr = ft_memmem(buf, 0, "jour", 4);
+ TEST_ASSERT_NULL(ptr);
+
+ ptr = ft_memmem(buf, 2, "jour", 0);
+ TEST_ASSERT_NULL(ptr);
+}
diff --git a/test_mini/libft/test/src/mem/test_ft_memmove.c b/test_mini/libft/test/src/mem/test_ft_memmove.c
new file mode 100644
index 0000000..158cda9
--- /dev/null
+++ b/test_mini/libft/test/src/mem/test_ft_memmove.c
@@ -0,0 +1,39 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_memmove.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/13 03:34:21 by cacharle #+# #+# */
+/* Updated: 2020/02/13 19:49:07 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_memmove);
+
+TEST_SETUP(ft_memmove)
+{}
+
+TEST_TEAR_DOWN(ft_memmove)
+{}
+
+TEST(ft_memmove, basic)
+{
+ char buf1[32] = "bonjour";
+
+ char *ptr = ft_memmove(buf1, buf1 + 2, 29);
+ TEST_ASSERT_EQUAL_PTR(buf1, ptr);
+ TEST_ASSERT_EQUAL_STRING("njour", buf1);
+
+ ptr = ft_memmove(buf1 + 2, buf1, 29);
+ TEST_ASSERT_EQUAL_PTR(buf1 + 2, ptr);
+ TEST_ASSERT_EQUAL_STRING("njour", ptr);
+ TEST_ASSERT_EQUAL_STRING("njnjour", buf1);
+
+ ptr = ft_memmove(buf1, buf1, 32);
+ TEST_ASSERT_EQUAL_PTR(buf1, ptr);
+ TEST_ASSERT_EQUAL_STRING("njnjour", ptr);
+}
diff --git a/test_mini/libft/test/src/mem/test_ft_memset.c b/test_mini/libft/test/src/mem/test_ft_memset.c
new file mode 100644
index 0000000..7ec5846
--- /dev/null
+++ b/test_mini/libft/test/src/mem/test_ft_memset.c
@@ -0,0 +1,42 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_memset.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/13 03:32:28 by cacharle #+# #+# */
+/* Updated: 2020/02/13 04:21:58 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_memset);
+
+TEST_SETUP(ft_memset)
+{}
+
+TEST_TEAR_DOWN(ft_memset)
+{}
+
+TEST(ft_memset, basic)
+{
+ int i;
+ unsigned char buf[32] = {0};
+
+ ft_memset(buf, 0xfa, 32);
+ for (i = 0; i < 32; i++)
+ TEST_ASSERT_EQUAL(0xfa, buf[i]);
+
+ ft_memset(buf, 0x00, 15);
+ for (i = 0; i < 15; i++)
+ TEST_ASSERT_EQUAL(0x00, buf[i]);
+ while (i++ < 31)
+ TEST_ASSERT_EQUAL(0xfa, buf[i]);
+
+ ft_memset(buf, 0x10, 31);
+ for (int i = 0; i < 31; i++)
+ TEST_ASSERT_EQUAL(0x10, buf[i]);
+ TEST_ASSERT_EQUAL(0xfa, buf[31]);
+}
diff --git a/test_mini/libft/test/src/mem/test_ft_memset_pattern4.c b/test_mini/libft/test/src/mem/test_ft_memset_pattern4.c
new file mode 100644
index 0000000..0e2806a
--- /dev/null
+++ b/test_mini/libft/test/src/mem/test_ft_memset_pattern4.c
@@ -0,0 +1,42 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_memset_pattern4.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/13 03:32:43 by cacharle #+# #+# */
+/* Updated: 2020/02/13 19:57:48 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_memset_pattern4);
+
+TEST_SETUP(ft_memset_pattern4)
+{}
+
+TEST_TEAR_DOWN(ft_memset_pattern4)
+{}
+
+TEST(ft_memset_pattern4, basic)
+{
+ char buf[17] = {0};
+ char *pattern4 = "1234";
+
+ ft_memset_pattern4(buf, pattern4, 16);
+ TEST_ASSERT_EQUAL_STRING("1234123412341234", buf);
+
+ char buf1[10] = {0};
+ ft_memset_pattern4(buf1, "1234", 9);
+ TEST_ASSERT_EQUAL_STRING("123412341", buf1);
+
+ char buf2[11] = {0};
+ ft_memset_pattern4(buf2, "1234", 10);
+ TEST_ASSERT_EQUAL_STRING("1234123412", buf2);
+
+ char buf3[12] = {0};
+ ft_memset_pattern4(buf3, "1234", 11);
+ TEST_ASSERT_EQUAL_STRING("12341234123", buf3);
+}
diff --git a/test_mini/libft/test/src/mem/test_ft_memswap.c b/test_mini/libft/test/src/mem/test_ft_memswap.c
new file mode 100644
index 0000000..72c3402
--- /dev/null
+++ b/test_mini/libft/test/src/mem/test_ft_memswap.c
@@ -0,0 +1,41 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_memswap.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/13 03:38:27 by cacharle #+# #+# */
+/* Updated: 2020/02/13 04:18:14 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_memswap);
+
+TEST_SETUP(ft_memswap)
+{}
+
+TEST_TEAR_DOWN(ft_memswap)
+{}
+
+TEST(ft_memswap, basic)
+{
+ char buf1[32] = "bonjour";
+ char buf2[32] = "aurevoir";
+ ft_memswap(buf1, buf2, 32);
+ TEST_ASSERT_EQUAL_STRING("bonjour", buf2);
+ TEST_ASSERT_EQUAL_STRING("aurevoir", buf1);
+ ft_memswap(buf1, buf2, 3);
+ TEST_ASSERT_EQUAL_STRING("aurjour", buf2);
+ TEST_ASSERT_EQUAL_STRING("bonevoir", buf1);
+ ft_memswap(buf1, buf2, 0);
+ TEST_ASSERT_EQUAL_STRING("aurjour", buf2);
+ TEST_ASSERT_EQUAL_STRING("bonevoir", buf1);
+ int a = 1234567;
+ int b = 7654321;
+ ft_memswap(&a, &b, sizeof(int));
+ TEST_ASSERT_EQUAL(7654321, a);
+ TEST_ASSERT_EQUAL(1234567, b);
+}
diff --git a/test_mini/libft/test/src/runner/test_runner_algo.c b/test_mini/libft/test/src/runner/test_runner_algo.c
new file mode 100644
index 0000000..8873797
--- /dev/null
+++ b/test_mini/libft/test/src/runner/test_runner_algo.c
@@ -0,0 +1,59 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_runner_algo.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/13 21:25:52 by cacharle #+# #+# */
+/* Updated: 2020/02/13 21:37:15 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+
+TEST_GROUP_RUNNER(ft_bsearch)
+{
+ RUN_TEST_CASE(ft_bsearch, basic);
+}
+
+TEST_GROUP_RUNNER(ft_compar_int)
+{
+ RUN_TEST_CASE(ft_compar_int, basic);
+}
+
+TEST_GROUP_RUNNER(ft_heapsort)
+{
+ RUN_TEST_CASE(ft_heapsort, basic);
+}
+
+TEST_GROUP_RUNNER(ft_is_set)
+{
+ RUN_TEST_CASE(ft_is_set, basic);
+}
+
+TEST_GROUP_RUNNER(ft_lfind)
+{
+ RUN_TEST_CASE(ft_lfind, basic);
+}
+
+TEST_GROUP_RUNNER(ft_lsearch)
+{
+ RUN_TEST_CASE(ft_lsearch, basic);
+}
+
+TEST_GROUP_RUNNER(ft_mergesort)
+{
+ RUN_TEST_CASE(ft_mergesort, basic);
+}
+
+TEST_GROUP_RUNNER(ft_qsort)
+{
+ RUN_TEST_CASE(ft_qsort, basic);
+}
+
+TEST_GROUP_RUNNER(ft_reverse)
+{
+ RUN_TEST_CASE(ft_reverse, basic);
+}
diff --git a/test_mini/libft/test/src/runner/test_runner_ctype.c b/test_mini/libft/test/src/runner/test_runner_ctype.c
new file mode 100644
index 0000000..7f9148e
--- /dev/null
+++ b/test_mini/libft/test/src/runner/test_runner_ctype.c
@@ -0,0 +1,64 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_runner_ctype.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/12 22:44:43 by cacharle #+# #+# */
+/* Updated: 2020/02/12 23:13:02 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP_RUNNER(ft_isalnum)
+{
+ RUN_TEST_CASE(ft_isalnum, base);
+}
+
+TEST_GROUP_RUNNER(ft_isalpha)
+{
+ RUN_TEST_CASE(ft_isalpha, base);
+}
+
+TEST_GROUP_RUNNER(ft_isascii)
+{
+ RUN_TEST_CASE(ft_isascii, base);
+}
+
+TEST_GROUP_RUNNER(ft_isblank)
+{
+ RUN_TEST_CASE(ft_isblank, base);
+}
+
+TEST_GROUP_RUNNER(ft_isdigit)
+{
+ RUN_TEST_CASE(ft_isdigit, base);
+}
+
+TEST_GROUP_RUNNER(ft_isprint)
+{
+ RUN_TEST_CASE(ft_isprint, base);
+}
+
+TEST_GROUP_RUNNER(ft_isspace)
+{
+ RUN_TEST_CASE(ft_isspace, base);
+}
+
+TEST_GROUP_RUNNER(ft_todigit)
+{
+ RUN_TEST_CASE(ft_todigit, base);
+}
+
+TEST_GROUP_RUNNER(ft_tolower)
+{
+ RUN_TEST_CASE(ft_tolower, base);
+}
+
+TEST_GROUP_RUNNER(ft_toupper)
+{
+ RUN_TEST_CASE(ft_toupper, base);
+}
+
diff --git a/test_mini/libft/test/src/runner/test_runner_ht.c b/test_mini/libft/test/src/runner/test_runner_ht.c
new file mode 100644
index 0000000..1563a72
--- /dev/null
+++ b/test_mini/libft/test/src/runner/test_runner_ht.c
@@ -0,0 +1,51 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_runner_ht.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/12 22:44:39 by cacharle #+# #+# */
+/* Updated: 2020/02/28 12:17:33 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP_RUNNER(ft_htentry_new)
+{
+ RUN_TEST_CASE(ft_htentry_new, basic);
+}
+
+TEST_GROUP_RUNNER(ft_htnew)
+{
+ RUN_TEST_CASE(ft_htnew, segfault);
+ RUN_TEST_CASE(ft_htnew, error_null);
+ RUN_TEST_CASE(ft_htnew, happy_path);
+}
+
+TEST_GROUP_RUNNER(ft_htget)
+{
+ RUN_TEST_CASE(ft_htget, segfault);
+ RUN_TEST_CASE(ft_htget, error_null);
+ RUN_TEST_CASE(ft_htget, basic);
+}
+
+TEST_GROUP_RUNNER(ft_htset)
+{
+ RUN_TEST_CASE(ft_htset, segfault);
+ RUN_TEST_CASE(ft_htset, error_null);
+ RUN_TEST_CASE(ft_htset, happy_path);
+ RUN_TEST_CASE(ft_htset, reset);
+ RUN_TEST_CASE(ft_htset, collision);
+}
+
+TEST_GROUP_RUNNER(ft_htdelone)
+{
+ RUN_TEST_CASE(ft_htdelone, basic);
+}
+
+TEST_GROUP_RUNNER(ft_htdestroy)
+{
+ RUN_TEST_CASE(ft_htdestroy, basic);
+}
diff --git a/test_mini/libft/test/src/runner/test_runner_lst.c b/test_mini/libft/test/src/runner/test_runner_lst.c
new file mode 100644
index 0000000..5ae9557
--- /dev/null
+++ b/test_mini/libft/test/src/runner/test_runner_lst.c
@@ -0,0 +1,103 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_runner_lst.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/15 03:54:05 by cacharle #+# #+# */
+/* Updated: 2020/02/17 03:24:41 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP_RUNNER(ft_lstpush_back)
+{
+ RUN_TEST_CASE(ft_lstpush_back, basic);
+}
+
+TEST_GROUP_RUNNER(ft_lstpush_front)
+{
+ RUN_TEST_CASE(ft_lstpush_front, basic);
+}
+
+TEST_GROUP_RUNNER(ft_lstbsearch)
+{
+ RUN_TEST_CASE(ft_lstbsearch, basic);
+}
+
+TEST_GROUP_RUNNER(ft_lstlsearch)
+{
+ RUN_TEST_CASE(ft_lstlsearch, basic);
+}
+
+TEST_GROUP_RUNNER(ft_lstlfind)
+{
+ RUN_TEST_CASE(ft_lstlfind, basic);
+}
+
+TEST_GROUP_RUNNER(ft_lstdestroy)
+{
+ RUN_TEST_CASE(ft_lstdestroy, basic);
+}
+
+TEST_GROUP_RUNNER(ft_lstdelone)
+{
+ RUN_TEST_CASE(ft_lstdelone, basic);
+}
+
+TEST_GROUP_RUNNER(ft_lstiter)
+{
+ RUN_TEST_CASE(ft_lstiter, basic);
+}
+
+TEST_GROUP_RUNNER(ft_lstlast)
+{
+ RUN_TEST_CASE(ft_lstlast, basic);
+}
+
+TEST_GROUP_RUNNER(ft_lstmap)
+{
+ RUN_TEST_CASE(ft_lstmap, basic);
+}
+
+TEST_GROUP_RUNNER(ft_lstnew)
+{
+ RUN_TEST_CASE(ft_lstnew, basic);
+}
+
+TEST_GROUP_RUNNER(ft_lstpop_front)
+{
+ RUN_TEST_CASE(ft_lstpop_front, basic);
+}
+
+TEST_GROUP_RUNNER(ft_lstremove_if)
+{
+ RUN_TEST_CASE(ft_lstremove_if, basic);
+}
+
+TEST_GROUP_RUNNER(ft_lstreverse)
+{
+ RUN_TEST_CASE(ft_lstreverse, basic);
+}
+
+TEST_GROUP_RUNNER(ft_lstreverse_ret)
+{
+ RUN_TEST_CASE(ft_lstreverse_ret, basic);
+}
+
+TEST_GROUP_RUNNER(ft_lstsize)
+{
+ RUN_TEST_CASE(ft_lstsize, basic);
+}
+
+TEST_GROUP_RUNNER(ft_lstsort)
+{
+ RUN_TEST_CASE(ft_lstsort, basic);
+}
+
+TEST_GROUP_RUNNER(ft_lstsorted_merge)
+{
+ RUN_TEST_CASE(ft_lstsorted_merge, basic);
+}
diff --git a/test_mini/libft/test/src/runner/test_runner_mem.c b/test_mini/libft/test/src/runner/test_runner_mem.c
new file mode 100644
index 0000000..093d064
--- /dev/null
+++ b/test_mini/libft/test/src/runner/test_runner_mem.c
@@ -0,0 +1,69 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_runner_mem.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/13 03:36:16 by cacharle #+# #+# */
+/* Updated: 2020/02/13 20:40:24 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP_RUNNER(ft_bzero)
+{
+ RUN_TEST_CASE(ft_bzero, basic);
+}
+
+TEST_GROUP_RUNNER(ft_calloc)
+{
+ RUN_TEST_CASE(ft_calloc, basic);
+}
+
+TEST_GROUP_RUNNER(ft_memccpy)
+{
+ RUN_TEST_CASE(ft_memccpy, basic);
+}
+
+TEST_GROUP_RUNNER(ft_memchr)
+{
+ RUN_TEST_CASE(ft_memchr, basic);
+}
+
+TEST_GROUP_RUNNER(ft_memcmp)
+{
+ RUN_TEST_CASE(ft_memcmp, basic);
+}
+
+TEST_GROUP_RUNNER(ft_memcpy)
+{
+ RUN_TEST_CASE(ft_memcpy, basic);
+}
+
+TEST_GROUP_RUNNER(ft_memmem)
+{
+ RUN_TEST_CASE(ft_memmem, basic);
+ RUN_TEST_CASE(ft_memmem, invalid_len);
+}
+
+TEST_GROUP_RUNNER(ft_memmove)
+{
+ RUN_TEST_CASE(ft_memmove, basic);
+}
+
+TEST_GROUP_RUNNER(ft_memset)
+{
+ RUN_TEST_CASE(ft_memset, basic);
+}
+
+TEST_GROUP_RUNNER(ft_memset_pattern4)
+{
+ RUN_TEST_CASE(ft_memset_pattern4, basic);
+}
+
+TEST_GROUP_RUNNER(ft_memswap)
+{
+ RUN_TEST_CASE(ft_memswap, basic);
+}
diff --git a/test_mini/libft/test/src/runner/test_runner_str.c b/test_mini/libft/test/src/runner/test_runner_str.c
new file mode 100644
index 0000000..3d829ad
--- /dev/null
+++ b/test_mini/libft/test/src/runner/test_runner_str.c
@@ -0,0 +1,6 @@
+#include "libft_test.h"
+
+TEST_GROUP_RUNNER(ft_strlen)
+{
+ RUN_TEST_CASE(ft_strlen, basic);
+}
diff --git a/test_mini/libft/test/src/runner/test_runner_vec.c b/test_mini/libft/test/src/runner/test_runner_vec.c
new file mode 100644
index 0000000..e0d3008
--- /dev/null
+++ b/test_mini/libft/test/src/runner/test_runner_vec.c
@@ -0,0 +1,50 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_runner_vec.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/01 19:55:53 by charles #+# #+# */
+/* Updated: 2020/04/01 22:49:28 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+
+#include "libft_test.h"
+
+TEST_GROUP_RUNNER(ft_vecdestroy)
+{
+ RUN_TEST_CASE(ft_vecdestroy, basic);
+}
+
+TEST_GROUP_RUNNER(ft_vecgrow)
+{
+ RUN_TEST_CASE(ft_vecgrow, basic);
+}
+
+TEST_GROUP_RUNNER(ft_veciter)
+{
+ RUN_TEST_CASE(ft_veciter, basic);
+}
+
+TEST_GROUP_RUNNER(ft_vecnew)
+{
+ RUN_TEST_CASE(ft_vecnew, basic);
+}
+
+TEST_GROUP_RUNNER(ft_vecpop)
+{
+ RUN_TEST_CASE(ft_vecpop, basic);
+}
+
+TEST_GROUP_RUNNER(ft_vecpush)
+{
+ RUN_TEST_CASE(ft_vecpush, basic);
+}
+
+TEST_GROUP_RUNNER(ft_vecremove)
+{
+ RUN_TEST_CASE(ft_vecremove, basic);
+}
+
diff --git a/test_mini/libft/test/src/str/test_ft_strlen.c b/test_mini/libft/test/src/str/test_ft_strlen.c
new file mode 100644
index 0000000..f251fc6
--- /dev/null
+++ b/test_mini/libft/test/src/str/test_ft_strlen.c
@@ -0,0 +1,24 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_strlen);
+
+TEST_SETUP(ft_strlen)
+{}
+
+TEST_TEAR_DOWN(ft_strlen)
+{}
+
+#define TEST_ASSERT_FT_STRLEN(str) do { \
+ if (strlen(str) != ft_strlen(str)) \
+ TEST_FAIL(); \
+} while(0);
+
+TEST(ft_strlen, basic)
+{
+ TEST_ASSERT_FT_STRLEN("");
+ TEST_ASSERT_FT_STRLEN("bonjour");
+ TEST_ASSERT_FT_STRLEN("1");
+ TEST_ASSERT_FT_STRLEN("asodifuaosidjoiasjdfoijasklfqwkberkjqwerkjqwlkenrmnqwerjkqwehfakjs");
+ TEST_ASSERT_FT_STRLEN("im\0hidden");
+ TEST_ASSERT_FT_STRLEN("987987\xff\xee\xaasdfioxcv");
+}
diff --git a/test_mini/libft/test/src/vec/test_ft_vecdestroy.c b/test_mini/libft/test/src/vec/test_ft_vecdestroy.c
new file mode 100644
index 0000000..4f121dc
--- /dev/null
+++ b/test_mini/libft/test/src/vec/test_ft_vecdestroy.c
@@ -0,0 +1,26 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_vecdestroy.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/01 19:41:59 by charles #+# #+# */
+/* Updated: 2020/04/01 19:55:14 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_vecdestroy);
+
+TEST_SETUP(ft_vecdestroy)
+{}
+
+TEST_TEAR_DOWN(ft_vecdestroy)
+{}
+
+TEST(ft_vecdestroy, basic)
+{
+ TEST_PASS();
+}
diff --git a/test_mini/libft/test/src/vec/test_ft_vecgrow.c b/test_mini/libft/test/src/vec/test_ft_vecgrow.c
new file mode 100644
index 0000000..0b40390
--- /dev/null
+++ b/test_mini/libft/test/src/vec/test_ft_vecgrow.c
@@ -0,0 +1,47 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_vecgrow.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/01 19:41:59 by charles #+# #+# */
+/* Updated: 2020/04/01 21:17:13 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_vecgrow);
+
+TEST_SETUP(ft_vecgrow)
+{}
+
+TEST_TEAR_DOWN(ft_vecgrow)
+{}
+
+TEST(ft_vecgrow, basic)
+{
+ t_ftvec *vec = ft_vecnew(1);
+ TEST_ASSERT_NOT_NULL(vec);
+ TEST_ASSERT_NOT_NULL(ft_vecgrow(vec));
+ TEST_ASSERT_EQUAL(2, vec->capacity);
+ TEST_ASSERT_EQUAL(0, vec->size);
+ TEST_ASSERT_NOT_NULL(ft_vecgrow(vec));
+ TEST_ASSERT_EQUAL(3, vec->capacity);
+ TEST_ASSERT_EQUAL(0, vec->size);
+ TEST_ASSERT_NOT_NULL(ft_vecgrow(vec));
+ TEST_ASSERT_EQUAL(4, vec->capacity);
+ TEST_ASSERT_EQUAL(0, vec->size);
+ TEST_ASSERT_NOT_NULL(ft_vecgrow(vec));
+ TEST_ASSERT_EQUAL(6, vec->capacity);
+ TEST_ASSERT_EQUAL(0, vec->size);
+ TEST_ASSERT_NOT_NULL(ft_vecgrow(vec));
+ TEST_ASSERT_EQUAL(9, vec->capacity);
+ TEST_ASSERT_EQUAL(0, vec->size);
+ TEST_ASSERT_NOT_NULL(ft_vecgrow(vec));
+ TEST_ASSERT_EQUAL(13, vec->capacity);
+ TEST_ASSERT_EQUAL(0, vec->size);
+
+ ft_vecdestroy(vec, NULL);
+}
diff --git a/test_mini/libft/test/src/vec/test_ft_veciter.c b/test_mini/libft/test/src/vec/test_ft_veciter.c
new file mode 100644
index 0000000..fac28c1
--- /dev/null
+++ b/test_mini/libft/test/src/vec/test_ft_veciter.c
@@ -0,0 +1,52 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_veciter.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/01 19:41:59 by charles #+# #+# */
+/* Updated: 2020/04/01 20:20:41 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_veciter);
+
+TEST_SETUP(ft_veciter)
+{}
+
+TEST_TEAR_DOWN(ft_veciter)
+{}
+
+static void iter_func(void *x)
+{
+ *(int*)x = *(int*)x * *(int*)x;
+}
+
+static void iter_func2(void *x)
+{
+ *(int*)x = *(int*)x - 100;
+}
+
+TEST(ft_veciter, basic)
+{
+ int tmp[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
+ t_ftvec *vec;
+
+ vec = ft_vecnew(10);
+ TEST_ASSERT_NOT_NULL(vec);
+ TEST_ASSERT_NOT_NULL(vec->data);
+ for (int i = 0; i < 10; i++)
+ vec->data[i] = tmp + i;
+ vec->size = 10;
+ ft_veciter(vec, iter_func);
+ for (int i = 0; i < 10; i++)
+ TEST_ASSERT_EQUAL(i * i, *(int*)vec->data[i]);
+ ft_veciter(vec, iter_func2);
+ for (int i = 0; i < 10; i++)
+ TEST_ASSERT_EQUAL(i * i - 100, *(int*)vec->data[i]);
+
+ ft_vecdestroy(vec, NULL);
+}
diff --git a/test_mini/libft/test/src/vec/test_ft_vecnew.c b/test_mini/libft/test/src/vec/test_ft_vecnew.c
new file mode 100644
index 0000000..579a182
--- /dev/null
+++ b/test_mini/libft/test/src/vec/test_ft_vecnew.c
@@ -0,0 +1,47 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_vecnew.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/01 19:41:59 by charles #+# #+# */
+/* Updated: 2020/04/01 20:01:37 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_vecnew);
+
+TEST_SETUP(ft_vecnew)
+{}
+
+TEST_TEAR_DOWN(ft_vecnew)
+{}
+
+TEST(ft_vecnew, basic)
+{
+ t_ftvec *vec;
+
+ vec = ft_vecnew(0);
+ TEST_ASSERT_NOT_NULL(vec);
+ TEST_ASSERT_NOT_NULL(vec->data);
+ TEST_ASSERT_EQUAL(1, vec->capacity);
+ TEST_ASSERT_EQUAL(0, vec->size);
+ ft_vecdestroy(vec, NULL);
+
+ vec = ft_vecnew(10);
+ TEST_ASSERT_NOT_NULL(vec);
+ TEST_ASSERT_NOT_NULL(vec->data);
+ TEST_ASSERT_EQUAL(10, vec->capacity);
+ TEST_ASSERT_EQUAL(0, vec->size);
+ ft_vecdestroy(vec, NULL);
+
+ vec = ft_vecnew(256);
+ TEST_ASSERT_NOT_NULL(vec);
+ TEST_ASSERT_NOT_NULL(vec->data);
+ TEST_ASSERT_EQUAL(256, vec->capacity);
+ TEST_ASSERT_EQUAL(0, vec->size);
+ ft_vecdestroy(vec, NULL);
+}
diff --git a/test_mini/libft/test/src/vec/test_ft_vecpop.c b/test_mini/libft/test/src/vec/test_ft_vecpop.c
new file mode 100644
index 0000000..2ee96d2
--- /dev/null
+++ b/test_mini/libft/test/src/vec/test_ft_vecpop.c
@@ -0,0 +1,47 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_vecpop.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/01 19:41:59 by charles #+# #+# */
+/* Updated: 2020/04/01 20:26:37 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_vecpop);
+
+TEST_SETUP(ft_vecpop)
+{}
+
+TEST_TEAR_DOWN(ft_vecpop)
+{}
+
+TEST(ft_vecpop, basic)
+{
+ t_ftvec *vec;
+
+ vec = ft_vecnew(3);
+ TEST_ASSERT_NOT_NULL(vec);
+ TEST_ASSERT_NOT_NULL(vec->data);
+
+ vec->size = 3;
+ for (long i = 0; i < 3; i++)
+ vec->data[i] = (void*)i;
+
+ ft_vecpop(vec, NULL);
+ TEST_ASSERT_EQUAL(2, vec->size);
+ TEST_ASSERT_EQUAL(3, vec->capacity);
+ ft_vecpop(vec, NULL);
+ TEST_ASSERT_EQUAL(1, vec->size);
+ TEST_ASSERT_EQUAL(3, vec->capacity);
+ ft_vecpop(vec, NULL);
+ TEST_ASSERT_EQUAL(0, vec->size);
+ TEST_ASSERT_EQUAL(3, vec->capacity);
+ ft_vecpop(vec, NULL);
+ TEST_ASSERT_EQUAL(0, vec->size);
+ TEST_ASSERT_EQUAL(3, vec->capacity);
+}
diff --git a/test_mini/libft/test/src/vec/test_ft_vecpush.c b/test_mini/libft/test/src/vec/test_ft_vecpush.c
new file mode 100644
index 0000000..05efc7a
--- /dev/null
+++ b/test_mini/libft/test/src/vec/test_ft_vecpush.c
@@ -0,0 +1,57 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_vecpush.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/01 19:41:59 by charles #+# #+# */
+/* Updated: 2020/04/01 20:23:00 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_vecpush);
+
+TEST_SETUP(ft_vecpush)
+{}
+
+TEST_TEAR_DOWN(ft_vecpush)
+{}
+
+TEST(ft_vecpush, basic)
+{
+ t_ftvec *vec;
+
+ vec = ft_vecnew(2);
+ TEST_ASSERT_NOT_NULL(vec);
+ TEST_ASSERT_NOT_NULL(vec->data);
+
+ TEST_ASSERT_NOT_NULL(ft_vecpush(vec, (void*)10));
+ TEST_ASSERT_EQUAL(1, vec->size);
+ TEST_ASSERT_EQUAL(2, vec->capacity);
+ TEST_ASSERT_EQUAL(10, (long)vec->data[0]);
+
+ TEST_ASSERT_NOT_NULL(ft_vecpush(vec, (void*)11));
+ TEST_ASSERT_EQUAL(2, vec->size);
+ TEST_ASSERT_EQUAL(2, vec->capacity);
+ TEST_ASSERT_EQUAL(11, (long)vec->data[1]);
+
+ TEST_ASSERT_NOT_NULL(ft_vecpush(vec, (void*)12));
+ TEST_ASSERT_EQUAL(3, vec->size);
+ TEST_ASSERT_EQUAL(2 * 1.5, vec->capacity);
+ TEST_ASSERT_EQUAL(12, (long)vec->data[2]);
+
+ TEST_ASSERT_NOT_NULL(ft_vecpush(vec, (void*)13));
+ TEST_ASSERT_EQUAL(4, vec->size);
+ TEST_ASSERT_EQUAL(2 * 1.5 * 1.5, vec->capacity);
+ TEST_ASSERT_EQUAL(13, (long)vec->data[3]);
+
+ TEST_ASSERT_NOT_NULL(ft_vecpush(vec, (void*)14));
+ TEST_ASSERT_EQUAL(5, vec->size);
+ TEST_ASSERT_EQUAL(2 * 1.5 * 1.5 * 1.5, vec->capacity);
+ TEST_ASSERT_EQUAL(14, (long)vec->data[4]);
+
+ ft_vecdestroy(vec, NULL);
+}
diff --git a/test_mini/libft/test/src/vec/test_ft_vecremove.c b/test_mini/libft/test/src/vec/test_ft_vecremove.c
new file mode 100644
index 0000000..8cecc19
--- /dev/null
+++ b/test_mini/libft/test/src/vec/test_ft_vecremove.c
@@ -0,0 +1,64 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_vecremove.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/01 22:48:58 by charles #+# #+# */
+/* Updated: 2020/04/01 22:56:37 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_vecremove);
+
+TEST_SETUP(ft_vecremove)
+{}
+
+TEST_TEAR_DOWN(ft_vecremove)
+{}
+
+TEST(ft_vecremove, basic)
+{
+ t_ftvec *vec;
+
+ vec = ft_vecnew(4);
+ for (size_t i = 0; i < 4; i++)
+ vec->data[i] = (void*)(i + 1);
+ vec->size = 4;
+
+ ft_vecremove(vec, 0, NULL);
+ TEST_ASSERT_EQUAL(3, vec->size);
+ TEST_ASSERT_EQUAL(4, vec->capacity);
+ TEST_ASSERT_EQUAL_UINT64(2, (size_t)vec->data[0]);
+ TEST_ASSERT_EQUAL_UINT64(3, (size_t)vec->data[1]);
+ TEST_ASSERT_EQUAL_UINT64(4, (size_t)vec->data[2]);
+
+ ft_vecremove(vec, 1, NULL);
+ TEST_ASSERT_EQUAL(2, vec->size);
+ TEST_ASSERT_EQUAL(4, vec->capacity);
+ TEST_ASSERT_EQUAL_UINT64(2, (size_t)vec->data[0]);
+ TEST_ASSERT_EQUAL_UINT64(4, (size_t)vec->data[1]);
+
+ ft_vecremove(vec, 1, NULL);
+ TEST_ASSERT_EQUAL(1, vec->size);
+ TEST_ASSERT_EQUAL(4, vec->capacity);
+ TEST_ASSERT_EQUAL_UINT64(2, (size_t)vec->data[0]);
+
+ ft_vecremove(vec, 1, NULL);
+ TEST_ASSERT_EQUAL(1, vec->size);
+ TEST_ASSERT_EQUAL(4, vec->capacity);
+ TEST_ASSERT_EQUAL_UINT64(2, (size_t)vec->data[0]);
+
+ ft_vecremove(vec, 0, NULL);
+ TEST_ASSERT_EQUAL(0, vec->size);
+ TEST_ASSERT_EQUAL(4, vec->capacity);
+
+ ft_vecremove(vec, 0, NULL);
+ TEST_ASSERT_EQUAL(0, vec->size);
+ TEST_ASSERT_EQUAL(4, vec->capacity);
+
+ ft_vecdestroy(vec, NULL);
+}