From 65cf641e9533b190db870d0cc46f2f852239ebf6 Mon Sep 17 00:00:00 2001 From: Charles Date: Sat, 4 Apr 2020 23:36:19 +0200 Subject: Added test for ft_strsjoin, ft_strsjoinf, ft_vecpush_safe, Added doc for algo functions, tested functions --- test/src/str/test_ft_strsjoin.c | 57 ++++++++++++++++++++++++++ test/src/str/test_ft_strsjoinf.c | 87 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 144 insertions(+) create mode 100644 test/src/str/test_ft_strsjoin.c create mode 100644 test/src/str/test_ft_strsjoinf.c (limited to 'test/src/str') 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 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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); +} -- cgit