aboutsummaryrefslogtreecommitdiff
path: root/test/src/str
diff options
context:
space:
mode:
authorCharles Cabergs <me@cacharle.xyz>2020-08-02 11:05:33 +0200
committerCharles Cabergs <me@cacharle.xyz>2020-08-02 11:05:33 +0200
commit5d2f925b20ceaea4122c59d2d2c4e7d4ae991fde (patch)
tree80911dc3c32e9f230750e7e1042d413dfb6efab2 /test/src/str
parentee32953ea79616e72f5428cdf40c834714a891c9 (diff)
parentb96b82194ccad2cddbb46b77aa1962a57c47ff44 (diff)
downloadlibft-5d2f925b20ceaea4122c59d2d2c4e7d4ae991fde.tar.gz
libft-5d2f925b20ceaea4122c59d2d2c4e7d4ae991fde.tar.bz2
libft-5d2f925b20ceaea4122c59d2d2c4e7d4ae991fde.zip
Merge branch 'master' into ft_ssl
Diffstat (limited to 'test/src/str')
-rw-r--r--test/src/str/test_ft_fnmatch.c117
-rw-r--r--test/src/str/test_ft_strlen.c36
-rw-r--r--test/src/str/test_ft_strsjoin.c57
-rw-r--r--test/src/str/test_ft_strsjoinf.c87
-rw-r--r--test/src/str/test_ft_strsub.c54
-rw-r--r--test/src/str/test_ft_strsubf.c61
-rw-r--r--test/src/str/test_ft_strtof.c29
7 files changed, 441 insertions, 0 deletions
diff --git a/test/src/str/test_ft_fnmatch.c b/test/src/str/test_ft_fnmatch.c
new file mode 100644
index 0000000..f7dc892
--- /dev/null
+++ b/test/src/str/test_ft_fnmatch.c
@@ -0,0 +1,117 @@
+#include "libft_test.h"
+
+TEST_GROUP(ft_fnmatch);
+
+TEST_SETUP(ft_fnmatch)
+{}
+
+TEST_TEAR_DOWN(ft_fnmatch)
+{}
+
+TEST(ft_fnmatch, basic)
+{
+ TEST_ASSERT_TRUE(ft_fnmatch("", ""));
+ TEST_ASSERT_TRUE(ft_fnmatch("l", "l"));
+ TEST_ASSERT_TRUE(ft_fnmatch("kl", "kl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("jkl", "jkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("ijkl", "ijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("hijkl", "hijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("ghijkl", "ghijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("fghijkl", "fghijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("efghijkl", "efghijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("defghijkl", "defghijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("cdefghijkl", "cdefghijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("bcdefghijkl", "bcdefghijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("abcdefghijkl", "abcdefghijkl"));
+
+ TEST_ASSERT_FALSE(ft_fnmatch("", "a"));
+ TEST_ASSERT_FALSE(ft_fnmatch("", "ab"));
+ TEST_ASSERT_FALSE(ft_fnmatch("", "abc"));
+ TEST_ASSERT_FALSE(ft_fnmatch("a", "ab"));
+ TEST_ASSERT_FALSE(ft_fnmatch("ab", "abc"));
+ TEST_ASSERT_FALSE(ft_fnmatch("a", ""));
+ TEST_ASSERT_FALSE(ft_fnmatch("ab", ""));
+ TEST_ASSERT_FALSE(ft_fnmatch("abc", ""));
+ TEST_ASSERT_FALSE(ft_fnmatch("ab", "a"));
+ TEST_ASSERT_FALSE(ft_fnmatch("abc", "ab"));
+
+ TEST_ASSERT_TRUE(ft_fnmatch("*", ""));
+ TEST_ASSERT_TRUE(ft_fnmatch("*", "l"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*", "kl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*", "jkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*", "ijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*", "hijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*", "ghijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*", "fghijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*", "efghijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*", "defghijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*", "cdefghijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*", "bcdefghijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*", "abcdefghijkl"));
+
+ TEST_ASSERT_TRUE(ft_fnmatch("*.c", ".c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*.c", "l.c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*.c", "kl.c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*.c", "jkl.c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*.c", "ijkl.c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*.c", "hijkl.c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*.c", "ghijkl.c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*.c", "fghijkl.c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*.c", "efghijkl.c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*.c", "defghijkl.c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*.c", "cdefghijkl.c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*.c", "bcdefghijkl.c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*.c", "abcdefghijkl.c"));
+
+ TEST_ASSERT_TRUE(ft_fnmatch("../*", "../"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*", "../l"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*", "../kl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*", "../jkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*", "../ijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*", "../hijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*", "../ghijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*", "../fghijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*", "../efghijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*", "../defghijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*", "../cdefghijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*", "../bcdefghijkl"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*", "../abcdefghijkl"));
+
+ TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../.c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../l.c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../kl.c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../jkl.c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../ijkl.c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../hijkl.c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../ghijkl.c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../fghijkl.c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../efghijkl.c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../defghijkl.c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../cdefghijkl.c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../bcdefghijkl.c"));
+ TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../abcdefghijkl.c"));
+
+ TEST_ASSERT_TRUE(ft_fnmatch("*.*", "."));
+ TEST_ASSERT_TRUE(ft_fnmatch("*.*", "a.a"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*.*", "ab.ab"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*.*", "abc.abc"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*.*", "abcd.abcd"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*.*", "abcde.abcde"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*.*", "abcdef.abcdef"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*.*", "abcdefg.abcdefg"));
+ TEST_ASSERT_TRUE(ft_fnmatch("*.*", "abcdefgh.abcdefgh"));
+
+ TEST_ASSERT_FALSE(ft_fnmatch("*.c", ".h"));
+ TEST_ASSERT_FALSE(ft_fnmatch("*.c", "a.h"));
+ TEST_ASSERT_FALSE(ft_fnmatch("*.c", "ab.h"));
+ TEST_ASSERT_FALSE(ft_fnmatch("*.c", "abc.h"));
+ TEST_ASSERT_FALSE(ft_fnmatch("*.c", "abcd.h"));
+
+ TEST_ASSERT_FALSE(ft_fnmatch("*.c", ".h"));
+ TEST_ASSERT_FALSE(ft_fnmatch("*.c", "a.h"));
+ TEST_ASSERT_FALSE(ft_fnmatch("*.c", "ab.h"));
+ TEST_ASSERT_FALSE(ft_fnmatch("*.c", "abc.h"));
+ TEST_ASSERT_FALSE(ft_fnmatch("*.c", "abcd.h"));
+
+ TEST_ASSERT_TRUE(ft_fnmatch("da*da*da*", "daaadabadmanda"));
+}
diff --git a/test/src/str/test_ft_strlen.c b/test/src/str/test_ft_strlen.c
index f251fc6..47ca69b 100644
--- a/test/src/str/test_ft_strlen.c
+++ b/test/src/str/test_ft_strlen.c
@@ -21,4 +21,40 @@ TEST(ft_strlen, basic)
TEST_ASSERT_FT_STRLEN("asodifuaosidjoiasjdfoijasklfqwkberkjqwerkjqwlkenrmnqwerjkqwehfakjs");
TEST_ASSERT_FT_STRLEN("im\0hidden");
TEST_ASSERT_FT_STRLEN("987987\xff\xee\xaasdfioxcv");
+
+ TEST_ASSERT_FT_STRLEN("0123456789abcdefghijklmnopqrstuvwxyz");
+ TEST_ASSERT_FT_STRLEN("0123456789abcdefghijklmnopqrstuvwxy");
+ TEST_ASSERT_FT_STRLEN("0123456789abcdefghijklmnopqrstuvwx");
+ TEST_ASSERT_FT_STRLEN("0123456789abcdefghijklmnopqrstuvw");
+ TEST_ASSERT_FT_STRLEN("0123456789abcdefghijklmnopqrstuv");
+ TEST_ASSERT_FT_STRLEN("0123456789abcdefghijklmnopqrstu");
+ TEST_ASSERT_FT_STRLEN("0123456789abcdefghijklmnopqrst");
+ TEST_ASSERT_FT_STRLEN("0123456789abcdefghijklmnopqrs");
+ TEST_ASSERT_FT_STRLEN("0123456789abcdefghijklmnopqr");
+ TEST_ASSERT_FT_STRLEN("0123456789abcdefghijklmnopq");
+ TEST_ASSERT_FT_STRLEN("0123456789abcdefghijklmnop");
+ TEST_ASSERT_FT_STRLEN("0123456789abcdefghijklmno");
+ TEST_ASSERT_FT_STRLEN("0123456789abcdefghijklmn");
+ TEST_ASSERT_FT_STRLEN("0123456789abcdefghijklm");
+ TEST_ASSERT_FT_STRLEN("0123456789abcdefghijkl");
+ TEST_ASSERT_FT_STRLEN("0123456789abcdefghijk");
+ TEST_ASSERT_FT_STRLEN("0123456789abcdefghij");
+ TEST_ASSERT_FT_STRLEN("0123456789abcdefghi");
+ TEST_ASSERT_FT_STRLEN("0123456789abcdefgh");
+ TEST_ASSERT_FT_STRLEN("0123456789abcdefg");
+ TEST_ASSERT_FT_STRLEN("0123456789abcdef");
+ TEST_ASSERT_FT_STRLEN("0123456789abcde");
+ TEST_ASSERT_FT_STRLEN("0123456789abcd");
+ TEST_ASSERT_FT_STRLEN("0123456789abc");
+ TEST_ASSERT_FT_STRLEN("0123456789ab");
+ TEST_ASSERT_FT_STRLEN("0123456789a");
+ TEST_ASSERT_FT_STRLEN("012345678");
+ TEST_ASSERT_FT_STRLEN("01234567");
+ TEST_ASSERT_FT_STRLEN("0123456");
+ TEST_ASSERT_FT_STRLEN("012345");
+ TEST_ASSERT_FT_STRLEN("01234");
+ TEST_ASSERT_FT_STRLEN("0123");
+ TEST_ASSERT_FT_STRLEN("012");
+ TEST_ASSERT_FT_STRLEN("01");
+ TEST_ASSERT_FT_STRLEN("0");
}
diff --git a/test/src/str/test_ft_strsjoin.c b/test/src/str/test_ft_strsjoin.c
new file mode 100644
index 0000000..0fac07b
--- /dev/null
+++ b/test/src/str/test_ft_strsjoin.c
@@ -0,0 +1,57 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_strsjoin.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/01 19:41:59 by charles #+# #+# */
+/* Updated: 2020/04/04 23:32:26 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_strsjoin);
+
+TEST_SETUP(ft_strsjoin)
+{}
+
+TEST_TEAR_DOWN(ft_strsjoin)
+{}
+
+TEST(ft_strsjoin, basic)
+{
+ char *join;
+ char *arr[] = {"bonjour", "je", "suis", NULL};
+ char *arr2[] = {"", "bonjour", "", "", "", "je", "suis", NULL};
+ char *null_arr[] = {NULL};
+
+ join = ft_strsjoin(arr, " ");
+ TEST_ASSERT_NOT_NULL(join);
+ TEST_ASSERT_EQUAL_STRING("bonjour je suis", join);
+
+ join = ft_strsjoin(arr, "<|>");
+ TEST_ASSERT_NOT_NULL(join);
+ TEST_ASSERT_EQUAL_STRING("bonjour<|>je<|>suis", join);
+
+ join = ft_strsjoin(arr, "");
+ TEST_ASSERT_NOT_NULL(join);
+ TEST_ASSERT_EQUAL_STRING("bonjourjesuis", join);
+
+ join = ft_strsjoin(arr2, " ");
+ TEST_ASSERT_NOT_NULL(join);
+ TEST_ASSERT_EQUAL_STRING("bonjour je suis", join);
+
+ join = ft_strsjoin(arr2, "<|>");
+ TEST_ASSERT_NOT_NULL(join);
+ TEST_ASSERT_EQUAL_STRING("bonjour<|>je<|>suis", join);
+
+ join = ft_strsjoin(arr2, "");
+ TEST_ASSERT_NOT_NULL(join);
+ TEST_ASSERT_EQUAL_STRING("bonjourjesuis", join);
+
+ join = ft_strsjoin(null_arr, "abc");
+ TEST_ASSERT_NOT_NULL(join);
+ TEST_ASSERT_EQUAL_STRING("", join);
+}
diff --git a/test/src/str/test_ft_strsjoinf.c b/test/src/str/test_ft_strsjoinf.c
new file mode 100644
index 0000000..d5184a9
--- /dev/null
+++ b/test/src/str/test_ft_strsjoinf.c
@@ -0,0 +1,87 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_strsjoinf.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/01 19:41:59 by charles #+# #+# */
+/* Updated: 2020/04/04 23:25:39 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_strsjoinf);
+
+TEST_SETUP(ft_strsjoinf)
+{}
+
+TEST_TEAR_DOWN(ft_strsjoinf)
+{}
+
+TEST(ft_strsjoinf, basic)
+{
+ char *join;
+ char *arr_orig[] = {"bonjour", "je", "suis", NULL};
+ char *arr2_orig[] = {"", "bonjour", "", "", "", "je", "suis", NULL};
+ char **null_arr;
+ char **arr;
+ char **arr2;
+
+ size_t i;
+
+ arr = malloc(sizeof(arr_orig));
+ for (i = 0; i < sizeof(arr_orig) / sizeof(char*) - 1; i++)
+ arr[i] = strdup(arr_orig[i]);
+ arr[i] = NULL;
+ join = ft_strsjoinf(arr, " ");
+ TEST_ASSERT_NOT_NULL(join);
+ TEST_ASSERT_EQUAL_STRING("bonjour je suis", join);
+
+ arr = malloc(sizeof(arr_orig));
+ for (i = 0; i < sizeof(arr_orig) / sizeof(char*) - 1; i++)
+ arr[i] = strdup(arr_orig[i]);
+ arr[i] = NULL;
+ join = ft_strsjoinf(arr, "<|>");
+ TEST_ASSERT_NOT_NULL(join);
+ TEST_ASSERT_EQUAL_STRING("bonjour<|>je<|>suis", join);
+
+ arr = malloc(sizeof(arr_orig));
+ for (i = 0; i < sizeof(arr_orig) / sizeof(char*) - 1; i++)
+ arr[i] = strdup(arr_orig[i]);
+ arr[i] = NULL;
+ join = ft_strsjoinf(arr, "");
+ TEST_ASSERT_NOT_NULL(join);
+ TEST_ASSERT_EQUAL_STRING("bonjourjesuis", join);
+
+ arr2 = malloc(sizeof(arr2_orig));
+ for (i = 0; i < sizeof(arr2_orig) / sizeof(char*) - 1; i++)
+ arr2[i] = strdup(arr2_orig[i]);
+ arr2[i] = NULL;
+ join = ft_strsjoinf(arr2, " ");
+ TEST_ASSERT_NOT_NULL(join);
+ TEST_ASSERT_EQUAL_STRING("bonjour je suis", join);
+
+ arr2 = malloc(sizeof(arr2_orig));
+ for (i = 0; i < sizeof(arr2_orig) / sizeof(char*) - 1; i++)
+ arr2[i] = strdup(arr2_orig[i]);
+ arr2[i] = NULL;
+ join = ft_strsjoinf(arr2, "<|>");
+ TEST_ASSERT_NOT_NULL(join);
+ TEST_ASSERT_EQUAL_STRING("bonjour<|>je<|>suis", join);
+
+ arr2 = malloc(sizeof(arr2_orig));
+ for (i = 0; i < sizeof(arr2_orig) / sizeof(char*) - 1; i++)
+ arr2[i] = strdup(arr2_orig[i]);
+ arr2[i] = NULL;
+ join = ft_strsjoinf(arr2, "");
+ TEST_ASSERT_NOT_NULL(join);
+ TEST_ASSERT_EQUAL_STRING("bonjourjesuis", join);
+
+ null_arr = malloc(sizeof(char*));
+ null_arr[0] = NULL;
+ join = ft_strsjoinf(null_arr, "abc");
+ TEST_ASSERT_NOT_NULL(join);
+ TEST_ASSERT_EQUAL_STRING("", join);
+}
diff --git a/test/src/str/test_ft_strsub.c b/test/src/str/test_ft_strsub.c
new file mode 100644
index 0000000..91ab4d3
--- /dev/null
+++ b/test/src/str/test_ft_strsub.c
@@ -0,0 +1,54 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_strsub.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/01 19:41:59 by charles #+# #+# */
+/* Updated: 2020/04/05 14:02:11 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_strsub);
+
+TEST_SETUP(ft_strsub)
+{}
+
+TEST_TEAR_DOWN(ft_strsub)
+{}
+
+TEST(ft_strsub, basic)
+{
+ char *s = "[test]";
+ char *ret;
+
+ ret = ft_strsub(s, 0, strlen(s));
+ TEST_ASSERT_NOT_NULL(ret);
+ TEST_ASSERT_EQUAL_STRING("[test]", ret);
+ free(ret);
+
+ ret = ft_strsub(s, 1, strlen(s) - 2);
+ TEST_ASSERT_NOT_NULL(ret);
+ TEST_ASSERT_EQUAL_STRING("test", ret);
+ free(ret);
+
+ ret = ft_strsub(s, strlen(s) - 4, 100);
+ TEST_ASSERT_NOT_NULL(ret);
+ TEST_ASSERT_EQUAL_STRING("est]", ret);
+ free(ret);
+
+ ret = ft_strsub(s, 3, 100);
+ TEST_ASSERT_NOT_NULL(ret);
+ TEST_ASSERT_EQUAL_STRING("st]", ret);
+ free(ret);
+
+ ret = ft_strsub(s, strlen(s), 100);
+ TEST_ASSERT_NOT_NULL(ret);
+ TEST_ASSERT_EQUAL_STRING("", ret);
+ free(ret);
+
+ TEST_ASSERT_NULL(ft_strsub(s, strlen(s) + 1, 1));
+}
diff --git a/test/src/str/test_ft_strsubf.c b/test/src/str/test_ft_strsubf.c
new file mode 100644
index 0000000..827c849
--- /dev/null
+++ b/test/src/str/test_ft_strsubf.c
@@ -0,0 +1,61 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_strsubf.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/01 19:41:59 by charles #+# #+# */
+/* Updated: 2020/04/05 14:03:20 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_strsubf);
+
+TEST_SETUP(ft_strsubf)
+{}
+
+TEST_TEAR_DOWN(ft_strsubf)
+{}
+
+TEST(ft_strsubf, basic)
+{
+ char *orig = "[test]";
+ char *s;
+ char *ret;
+
+ s = strdup(orig);
+ ret = ft_strsub(s, 0, strlen(s));
+ TEST_ASSERT_NOT_NULL(ret);
+ TEST_ASSERT_EQUAL_STRING("[test]", ret);
+ free(ret);
+
+ s = strdup(orig);
+ ret = ft_strsub(s, 1, strlen(s) - 2);
+ TEST_ASSERT_NOT_NULL(ret);
+ TEST_ASSERT_EQUAL_STRING("test", ret);
+ free(ret);
+
+ s = strdup(orig);
+ ret = ft_strsub(s, strlen(s) - 4, 100);
+ TEST_ASSERT_NOT_NULL(ret);
+ TEST_ASSERT_EQUAL_STRING("est]", ret);
+ free(ret);
+
+ s = strdup(orig);
+ ret = ft_strsub(s, 3, 100);
+ TEST_ASSERT_NOT_NULL(ret);
+ TEST_ASSERT_EQUAL_STRING("st]", ret);
+ free(ret);
+
+ s = strdup(orig);
+ ret = ft_strsub(s, strlen(s), 100);
+ TEST_ASSERT_NOT_NULL(ret);
+ TEST_ASSERT_EQUAL_STRING("", ret);
+ free(ret);
+
+ s = strdup(orig);
+ TEST_ASSERT_NULL(ft_strsub(s, strlen(s) + 1, 1));
+}
diff --git a/test/src/str/test_ft_strtof.c b/test/src/str/test_ft_strtof.c
new file mode 100644
index 0000000..65290a9
--- /dev/null
+++ b/test/src/str/test_ft_strtof.c
@@ -0,0 +1,29 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_strtof.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/01 19:41:59 by charles #+# #+# */
+/* Updated: 2020/05/10 21:58:21 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_strtof);
+
+TEST_SETUP(ft_strtof)
+{}
+
+TEST_TEAR_DOWN(ft_strtof)
+{}
+
+TEST(ft_strtof, basic)
+{
+ /* float foo; */
+
+ /* foo = ft_strtof("0.0", NULL); */
+ /* TEST_ASSERT(0); */
+}