aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-05-09 12:31:50 +0200
committerCharles <sircharlesaze@gmail.com>2020-05-09 12:31:50 +0200
commit02abc030a68cb2fdd2f21c96db830ec8cb9176ad (patch)
tree0c2d67c94a3618639fc2cd29d8bc78820e41c254 /test
parentb5124347359833fcde33452978c62133879c6c9e (diff)
parent3a2d19df9e509d0b015c786eb02f8315ff0ad91c (diff)
downloadlibft-02abc030a68cb2fdd2f21c96db830ec8cb9176ad.tar.gz
libft-02abc030a68cb2fdd2f21c96db830ec8cb9176ad.tar.bz2
libft-02abc030a68cb2fdd2f21c96db830ec8cb9176ad.zip
Merge remote-tracking branch 'origin/minishell'
Diffstat (limited to 'test')
-rw-r--r--test/Makefile6
-rw-r--r--test/include/libft_test.h1
-rw-r--r--test/src/algo/test_ft_qsort.c42
-rw-r--r--test/src/dstr/test_ft_dstrdestroy.c26
-rw-r--r--test/src/dstr/test_ft_dstrerase.c69
-rw-r--r--test/src/dstr/test_ft_dstrgrow.c52
-rw-r--r--test/src/dstr/test_ft_dstrinsert.c59
-rw-r--r--test/src/dstr/test_ft_dstrnew.c60
-rw-r--r--test/src/dstr/test_ft_dstrsubstitute.c64
-rw-r--r--test/src/dstr/test_ft_dstrunwrap.c42
-rw-r--r--test/src/ht/test_ft_htdelone.c28
-rw-r--r--test/src/ht/test_ft_htdestroy.c18
-rw-r--r--test/src/ht/test_ft_htget.c54
-rw-r--r--test/src/ht/test_ft_htset.c16
-rw-r--r--test/src/main.c18
-rw-r--r--test/src/runner/test_runner_algo.c3
-rw-r--r--test/src/runner/test_runner_dstr.c48
-rw-r--r--test/src/runner/test_runner_ht.c2
-rw-r--r--test/src/runner/test_runner_str.c25
-rw-r--r--test/src/runner/test_runner_vec.c21
-rw-r--r--test/src/str/test_ft_fnmatch.c117
-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/vec/test_ft_vecgrow.c41
-rw-r--r--test/src/vec/test_ft_vecinsert.c66
-rw-r--r--test/src/vec/test_ft_vecpush_safe.c45
-rw-r--r--test/src/vec/test_ft_vecremove.c64
-rw-r--r--test/src/vec/test_ft_vecsort.c34
30 files changed, 1188 insertions, 92 deletions
diff --git a/test/Makefile b/test/Makefile
index cf065c6..48e08a9 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -6,7 +6,7 @@
# By: cacharle <marvin@42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2020/02/15 04:35:44 by cacharle #+# #+# #
-# Updated: 2020/02/28 12:13:30 by cacharle ### ########.fr #
+# Updated: 2020/04/04 20:58:20 by charles ### ########.fr #
# #
# **************************************************************************** #
@@ -52,7 +52,7 @@ $(NAME): libft_all $(OBJ)
@echo "Test: Compiling: $@"
@$(CC) $(CCFLAGS) -c -o $@ $<
-clean:
+clean:
@echo "Test: Removing object"
@$(RM) $(OBJ)
@@ -65,7 +65,7 @@ fclean: clean
re: fclean all
re_dep: clean_dep fclean all
-
+
unity_all:
@$(MAKE) $(MAKE_ARGS) -s -C $(UNITY_DIR) all
diff --git a/test/include/libft_test.h b/test/include/libft_test.h
index efa15cd..c58d533 100644
--- a/test/include/libft_test.h
+++ b/test/include/libft_test.h
@@ -21,6 +21,7 @@
# include "libft_lst.h"
# include "libft_ht.h"
# include "libft_vec.h"
+# include "libft_dstr.h"
# include "helper/helper_segfault.h"
diff --git a/test/src/algo/test_ft_qsort.c b/test/src/algo/test_ft_qsort.c
index 25a5ef6..00062b0 100644
--- a/test/src/algo/test_ft_qsort.c
+++ b/test/src/algo/test_ft_qsort.c
@@ -8,19 +8,43 @@ 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);
+ qsort(sorted_arr, sizeof(arr) / sizeof(int), sizeof(int), ft_compar_int);
+ ft_qsort(arr, sizeof(arr) / sizeof(int), sizeof(int), ft_compar_int);
TEST_ASSERT_EQUAL_INT_ARRAY(sorted_arr, arr, sizeof(arr) / sizeof(int));
}
+
+TEST(ft_qsort, strings)
+{
+ char *arr[] = {"zzz", "fff", "aaa"};
+ char *sorted[sizeof(arr)];
+ memcpy(sorted, arr, sizeof(arr));
+ qsort(sorted, sizeof(arr) / sizeof(char*), sizeof(char*), ft_compar_str);
+ ft_qsort(arr, sizeof(arr) / sizeof(char*), sizeof(char*), ft_compar_str);
+ TEST_ASSERT_EQUAL_STRING_ARRAY(sorted, arr, sizeof(arr) / sizeof(char*));
+
+ char *arr2[] = {"abcdef", "abcde", "abcd", "abc", "ab", "a", ""};
+ char *sorted2[sizeof(arr2)];
+ memcpy(sorted2, arr2, sizeof(arr2));
+ qsort(sorted2, sizeof(arr2) / sizeof(char*), sizeof(char*), ft_compar_str);
+ ft_qsort(arr2, sizeof(arr2) / sizeof(char*), sizeof(char*), ft_compar_str);
+ TEST_ASSERT_EQUAL_STRING_ARRAY(sorted2, arr2, sizeof(arr2) / sizeof(char*));
+
+ char *arr3[] = {"", "a", "ab", "abc", "abcd", "abcde", "abcdef"};
+ char *sorted3[sizeof(arr3)];
+ memcpy(sorted3, arr3, sizeof(arr3));
+ qsort(sorted3, sizeof(arr3) / sizeof(char*), sizeof(char*), ft_compar_str);
+ ft_qsort(arr3, sizeof(arr3) / sizeof(char*), sizeof(char*), ft_compar_str);
+ TEST_ASSERT_EQUAL_STRING_ARRAY(sorted3, arr3, sizeof(arr3) / sizeof(char*));
+
+ char *arr4[] = {"ast.c", "z.c", "path.c", "main.c", "utils.c", "preprocess.c", "env.c"};
+ char *sorted4[sizeof(arr4)];
+ memcpy(sorted4, arr4, sizeof(arr4));
+ qsort(sorted4, sizeof(arr4) / sizeof(char*), sizeof(char*), ft_compar_str);
+ ft_qsort(arr4, sizeof(arr4) / sizeof(char*), sizeof(char*), ft_compar_str);
+ TEST_ASSERT_EQUAL_STRING_ARRAY(sorted4, arr4, sizeof(arr4) / sizeof(char*));
+}
diff --git a/test/src/dstr/test_ft_dstrdestroy.c b/test/src/dstr/test_ft_dstrdestroy.c
new file mode 100644
index 0000000..1a6cb41
--- /dev/null
+++ b/test/src/dstr/test_ft_dstrdestroy.c
@@ -0,0 +1,26 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_dstrdestroy.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/01 19:41:59 by charles #+# #+# */
+/* Updated: 2020/04/04 21:04:51 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_dstrdestroy);
+
+TEST_SETUP(ft_dstrdestroy)
+{}
+
+TEST_TEAR_DOWN(ft_dstrdestroy)
+{}
+
+TEST(ft_dstrdestroy, basic)
+{
+ TEST_PASS();
+}
diff --git a/test/src/dstr/test_ft_dstrerase.c b/test/src/dstr/test_ft_dstrerase.c
new file mode 100644
index 0000000..01ed560
--- /dev/null
+++ b/test/src/dstr/test_ft_dstrerase.c
@@ -0,0 +1,69 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_dstrerase.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/01 19:41:59 by charles #+# #+# */
+/* Updated: 2020/04/05 01:02:40 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_dstrerase);
+
+TEST_SETUP(ft_dstrerase)
+{}
+
+TEST_TEAR_DOWN(ft_dstrerase)
+{}
+
+TEST(ft_dstrerase, basic)
+{
+ t_ftdstr *dstr;
+
+ dstr = ft_dstrnew("bonjour");
+ ft_dstrerase(dstr, 0, 0);
+ TEST_ASSERT_NOT_NULL(dstr);
+ TEST_ASSERT_EQUAL(7, dstr->length);
+ TEST_ASSERT_EQUAL(8, dstr->capacity);
+ TEST_ASSERT_EQUAL_STRING("bonjour", dstr->str);
+
+ ft_dstrerase(dstr, 2, 0);
+ TEST_ASSERT_NOT_NULL(dstr);
+ TEST_ASSERT_EQUAL(7, dstr->length);
+ TEST_ASSERT_EQUAL(8, dstr->capacity);
+ TEST_ASSERT_EQUAL_STRING("bonjour", dstr->str);
+
+ ft_dstrerase(dstr, 2, 1);
+ TEST_ASSERT_NOT_NULL(dstr);
+ TEST_ASSERT_EQUAL(6, dstr->length);
+ TEST_ASSERT_EQUAL(8, dstr->capacity);
+ TEST_ASSERT_EQUAL_STRING("bojour", dstr->str);
+
+ ft_dstrerase(dstr, 6, 1);
+ TEST_ASSERT_NOT_NULL(dstr);
+ TEST_ASSERT_EQUAL(6, dstr->length);
+ TEST_ASSERT_EQUAL(8, dstr->capacity);
+ TEST_ASSERT_EQUAL_STRING("bojour", dstr->str);
+
+ ft_dstrerase(dstr, 5, 1);
+ TEST_ASSERT_NOT_NULL(dstr);
+ TEST_ASSERT_EQUAL(5, dstr->length);
+ TEST_ASSERT_EQUAL(8, dstr->capacity);
+ TEST_ASSERT_EQUAL_STRING("bojou", dstr->str);
+
+ ft_dstrerase(dstr, 0, 2);
+ TEST_ASSERT_NOT_NULL(dstr);
+ TEST_ASSERT_EQUAL(3, dstr->length);
+ TEST_ASSERT_EQUAL(8, dstr->capacity);
+ TEST_ASSERT_EQUAL_STRING("jou", dstr->str);
+
+ ft_dstrerase(dstr, 0, 10);
+ TEST_ASSERT_NOT_NULL(dstr);
+ TEST_ASSERT_EQUAL(0, dstr->length);
+ TEST_ASSERT_EQUAL(8, dstr->capacity);
+ TEST_ASSERT_EQUAL_STRING("", dstr->str);
+}
diff --git a/test/src/dstr/test_ft_dstrgrow.c b/test/src/dstr/test_ft_dstrgrow.c
new file mode 100644
index 0000000..1e3edb6
--- /dev/null
+++ b/test/src/dstr/test_ft_dstrgrow.c
@@ -0,0 +1,52 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_dstrgrow.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/01 19:41:59 by charles #+# #+# */
+/* Updated: 2020/04/04 21:12:16 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_dstrgrow);
+
+TEST_SETUP(ft_dstrgrow)
+{}
+
+TEST_TEAR_DOWN(ft_dstrgrow)
+{}
+
+TEST(ft_dstrgrow, basic)
+{
+ t_ftdstr *dstr;
+
+ dstr = ft_dstrnew("bonjour");
+ TEST_ASSERT_NOT_NULL(ft_dstrgrow(dstr, 3));
+ TEST_ASSERT_GREATER_OR_EQUAL(3, dstr->capacity - 1);
+ TEST_ASSERT_EQUAL_STRING("bonjour", dstr->str);
+ TEST_ASSERT_EQUAL(strlen("bonjour"), dstr->length);
+
+ TEST_ASSERT_NOT_NULL(ft_dstrgrow(dstr, 16));
+ TEST_ASSERT_GREATER_OR_EQUAL(16, dstr->capacity - 1);
+ TEST_ASSERT_EQUAL_STRING("bonjour", dstr->str);
+ TEST_ASSERT_EQUAL(strlen("bonjour"), dstr->length);
+
+ TEST_ASSERT_NOT_NULL(ft_dstrgrow(dstr, 8));
+ TEST_ASSERT_GREATER_OR_EQUAL(8, dstr->capacity - 1);
+ TEST_ASSERT_EQUAL_STRING("bonjour", dstr->str);
+ TEST_ASSERT_EQUAL(strlen("bonjour"), dstr->length);
+
+ TEST_ASSERT_NOT_NULL(ft_dstrgrow(dstr, 20));
+ TEST_ASSERT_GREATER_OR_EQUAL(20, dstr->capacity - 1);
+ TEST_ASSERT_EQUAL_STRING("bonjour", dstr->str);
+ TEST_ASSERT_EQUAL(strlen("bonjour"), dstr->length);
+
+ TEST_ASSERT_NOT_NULL(ft_dstrgrow(dstr, 32));
+ TEST_ASSERT_GREATER_OR_EQUAL(32, dstr->capacity - 1);
+ TEST_ASSERT_EQUAL_STRING("bonjour", dstr->str);
+ TEST_ASSERT_EQUAL(strlen("bonjour"), dstr->length);
+}
diff --git a/test/src/dstr/test_ft_dstrinsert.c b/test/src/dstr/test_ft_dstrinsert.c
new file mode 100644
index 0000000..61f407c
--- /dev/null
+++ b/test/src/dstr/test_ft_dstrinsert.c
@@ -0,0 +1,59 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_dstrinsert.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/01 19:41:59 by charles #+# #+# */
+/* Updated: 2020/04/04 21:21:51 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_dstrinsert);
+
+TEST_SETUP(ft_dstrinsert)
+{}
+
+TEST_TEAR_DOWN(ft_dstrinsert)
+{}
+
+TEST(ft_dstrinsert, basic)
+{
+ t_ftdstr *dstr;
+
+ dstr = ft_dstrnew("");
+
+ TEST_ASSERT_NULL(ft_dstrinsert(dstr, "", 1));
+ TEST_ASSERT_NULL(ft_dstrinsert(dstr, "test", 1));
+ TEST_ASSERT_NULL(ft_dstrinsert(dstr, "", 5));
+ TEST_ASSERT_NULL(ft_dstrinsert(dstr, "test", 5));
+
+ TEST_ASSERT_NOT_NULL(ft_dstrinsert(dstr, "bonjour", 0));
+ TEST_ASSERT_NOT_NULL(dstr->str);
+ TEST_ASSERT_EQUAL_STRING("bonjour", dstr->str);
+ TEST_ASSERT_EQUAL(strlen(dstr->str), dstr->length);
+ TEST_ASSERT_GREATER_THAN(strlen(dstr->str), dstr->capacity);
+
+ TEST_ASSERT_NULL(ft_dstrinsert(dstr, "abc", 8));
+
+ TEST_ASSERT_NOT_NULL(ft_dstrinsert(dstr, "{{{", 0));
+ TEST_ASSERT_NOT_NULL(dstr->str);
+ TEST_ASSERT_EQUAL_STRING("{{{bonjour", dstr->str);
+ TEST_ASSERT_EQUAL(strlen(dstr->str), dstr->length);
+ TEST_ASSERT_GREATER_THAN(strlen(dstr->str), dstr->capacity);
+
+ TEST_ASSERT_NOT_NULL(ft_dstrinsert(dstr, "]]]", dstr->length));
+ TEST_ASSERT_NOT_NULL(dstr->str);
+ TEST_ASSERT_EQUAL_STRING("{{{bonjour]]]", dstr->str);
+ TEST_ASSERT_EQUAL(strlen(dstr->str), dstr->length);
+ TEST_ASSERT_GREATER_THAN(strlen(dstr->str), dstr->capacity);
+
+ TEST_ASSERT_NOT_NULL(ft_dstrinsert(dstr, "<>", 6));
+ TEST_ASSERT_NOT_NULL(dstr->str);
+ TEST_ASSERT_EQUAL_STRING("{{{bon<>jour]]]", dstr->str);
+ TEST_ASSERT_EQUAL(strlen(dstr->str), dstr->length);
+ TEST_ASSERT_GREATER_THAN(strlen(dstr->str), dstr->capacity);
+}
diff --git a/test/src/dstr/test_ft_dstrnew.c b/test/src/dstr/test_ft_dstrnew.c
new file mode 100644
index 0000000..33024e4
--- /dev/null
+++ b/test/src/dstr/test_ft_dstrnew.c
@@ -0,0 +1,60 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_dstrnew.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/01 19:41:59 by charles #+# #+# */
+/* Updated: 2020/04/04 21:03:25 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_dstrnew);
+
+TEST_SETUP(ft_dstrnew)
+{}
+
+TEST_TEAR_DOWN(ft_dstrnew)
+{}
+
+TEST(ft_dstrnew, basic)
+{
+ t_ftdstr *dstr;
+
+ dstr = ft_dstrnew("");
+ TEST_ASSERT_NOT_NULL(dstr);
+ TEST_ASSERT_NOT_NULL(dstr->str);
+ TEST_ASSERT_EQUAL_STRING("", dstr->str);
+ TEST_ASSERT_EQUAL(1, dstr->capacity);
+ TEST_ASSERT_EQUAL(0, dstr->length);
+ ft_dstrdestroy(dstr);
+
+ dstr = ft_dstrnew("abc");
+ TEST_ASSERT_NOT_NULL(dstr);
+ TEST_ASSERT_NOT_NULL(dstr->str);
+ TEST_ASSERT_EQUAL_STRING("abc", dstr->str);
+ TEST_ASSERT_EQUAL(strlen("abc") + 1, dstr->capacity);
+ TEST_ASSERT_EQUAL(strlen("abc"), dstr->length);
+ ft_dstrdestroy(dstr);
+
+ dstr = ft_dstrnew("hidden\0text");
+ TEST_ASSERT_NOT_NULL(dstr);
+ TEST_ASSERT_NOT_NULL(dstr->str);
+ TEST_ASSERT_EQUAL_STRING("hidden\0text", dstr->str);
+ TEST_ASSERT_EQUAL(strlen("hidden") + 1, dstr->capacity);
+ TEST_ASSERT_EQUAL(strlen("hidden"), dstr->length);
+ ft_dstrdestroy(dstr);
+
+ char *long_string = "asdkfjasl;asdjiojxocijioajsdfopijasdofijasiodfjaospidj"\
+ "fopiasjdfoijasdopifjaspoidjfopiasjdfpoiajsdfoijd";
+ dstr = ft_dstrnew(long_string);
+ TEST_ASSERT_NOT_NULL(dstr);
+ TEST_ASSERT_NOT_NULL(dstr->str);
+ TEST_ASSERT_EQUAL_STRING(long_string, dstr->str);
+ TEST_ASSERT_EQUAL(strlen(long_string) + 1, dstr->capacity);
+ TEST_ASSERT_EQUAL(strlen(long_string), dstr->length);
+ ft_dstrdestroy(dstr);
+}
diff --git a/test/src/dstr/test_ft_dstrsubstitute.c b/test/src/dstr/test_ft_dstrsubstitute.c
new file mode 100644
index 0000000..d81b944
--- /dev/null
+++ b/test/src/dstr/test_ft_dstrsubstitute.c
@@ -0,0 +1,64 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_dstrsubstitute.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/01 19:41:59 by charles #+# #+# */
+/* Updated: 2020/04/05 01:09:47 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_dstrsubstitute);
+
+TEST_SETUP(ft_dstrsubstitute)
+{}
+
+TEST_TEAR_DOWN(ft_dstrsubstitute)
+{}
+
+TEST(ft_dstrsubstitute, basic)
+{
+ t_ftdstr *dstr;
+
+ dstr = ft_dstrnew("bonjour");
+ TEST_ASSERT_NULL(ft_dstrsubstitute(dstr, "bonjour", 8, 1));
+
+ TEST_ASSERT_NOT_NULL(ft_dstrsubstitute(dstr, "{{{", 0, 0));
+ TEST_ASSERT_NOT_NULL(dstr);
+ TEST_ASSERT_NOT_NULL(dstr->str);
+ TEST_ASSERT_EQUAL(10, dstr->length);
+ TEST_ASSERT_GREATER_OR_EQUAL(11, dstr->capacity);
+ TEST_ASSERT_EQUAL_STRING("{{{bonjour", dstr->str);
+
+ TEST_ASSERT_NOT_NULL(ft_dstrsubstitute(dstr, "]]]", dstr->length, 0));
+ TEST_ASSERT_NOT_NULL(dstr);
+ TEST_ASSERT_NOT_NULL(dstr->str);
+ TEST_ASSERT_EQUAL(13, dstr->length);
+ TEST_ASSERT_GREATER_OR_EQUAL(14, dstr->capacity);
+ TEST_ASSERT_EQUAL_STRING("{{{bonjour]]]", dstr->str);
+
+ TEST_ASSERT_NOT_NULL(ft_dstrsubstitute(dstr, "aurevoir", 3, 7));
+ TEST_ASSERT_NOT_NULL(dstr);
+ TEST_ASSERT_NOT_NULL(dstr->str);
+ TEST_ASSERT_EQUAL(14, dstr->length);
+ TEST_ASSERT_GREATER_OR_EQUAL(15, dstr->capacity);
+ TEST_ASSERT_EQUAL_STRING("{{{aurevoir]]]", dstr->str);
+
+ TEST_ASSERT_NOT_NULL(ft_dstrsubstitute(dstr, "<>", 0, dstr->length));
+ TEST_ASSERT_NOT_NULL(dstr);
+ TEST_ASSERT_NOT_NULL(dstr->str);
+ TEST_ASSERT_EQUAL(2, dstr->length);
+ TEST_ASSERT_GREATER_OR_EQUAL(3, dstr->capacity);
+ TEST_ASSERT_EQUAL_STRING("<>", dstr->str);
+
+ TEST_ASSERT_NOT_NULL(ft_dstrsubstitute(dstr, "<>", 0, dstr->length));
+ TEST_ASSERT_NOT_NULL(dstr);
+ TEST_ASSERT_NOT_NULL(dstr->str);
+ TEST_ASSERT_EQUAL(2, dstr->length);
+ TEST_ASSERT_GREATER_OR_EQUAL(3, dstr->capacity);
+ TEST_ASSERT_EQUAL_STRING("<>", dstr->str);
+}
diff --git a/test/src/dstr/test_ft_dstrunwrap.c b/test/src/dstr/test_ft_dstrunwrap.c
new file mode 100644
index 0000000..dbc334a
--- /dev/null
+++ b/test/src/dstr/test_ft_dstrunwrap.c
@@ -0,0 +1,42 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_dstrunwrap.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/01 19:41:59 by charles #+# #+# */
+/* Updated: 2020/04/04 21:07:16 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_dstrunwrap);
+
+TEST_SETUP(ft_dstrunwrap)
+{}
+
+TEST_TEAR_DOWN(ft_dstrunwrap)
+{}
+
+TEST(ft_dstrunwrap, basic)
+{
+ t_ftdstr *dstr;
+ char *ret;
+
+ dstr = ft_dstrnew("bonjour");
+ ret = ft_dstrunwrap(dstr);
+ TEST_ASSERT_NOT_NULL(ret);
+ TEST_ASSERT_EQUAL_STRING("bonjour", ret);
+
+ dstr = ft_dstrnew("");
+ ret = ft_dstrunwrap(dstr);
+ TEST_ASSERT_NOT_NULL(ret);
+ TEST_ASSERT_EQUAL_STRING("", ret);
+
+ dstr = ft_dstrnew("hidden\0text");
+ ret = ft_dstrunwrap(dstr);
+ TEST_ASSERT_NOT_NULL(ret);
+ TEST_ASSERT_EQUAL_STRING("hidden", ret);
+}
diff --git a/test/src/ht/test_ft_htdelone.c b/test/src/ht/test_ft_htdelone.c
index 5ba4822..a64b34e 100644
--- a/test/src/ht/test_ft_htdelone.c
+++ b/test/src/ht/test_ft_htdelone.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/02/19 02:08:00 by cacharle #+# #+# */
-/* Updated: 2020/02/19 02:46:10 by cacharle ### ########.fr */
+/* Updated: 2020/04/03 07:08:38 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -20,23 +20,17 @@ 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_htset(ht, "bonjour", strdup("je"), free);
+ ft_htset(ht, "a", strdup("yay"), free);
+ ft_htset(ht, "b", strdup("aasdf"), free);
+ ft_htset(ht, "c", "a", NULL);
+ ft_htset(ht, "d", "dd", NULL);
- ft_htdelone(ht, "bonjour", st_del);
+ ft_htdelone(ht, "bonjour", free);
void *ptr = ft_htget(ht, "bonjour");
TEST_ASSERT_NULL(ptr);
TEST_ASSERT_NOT_NULL(ft_htget(ht, "a"));
@@ -44,25 +38,25 @@ TEST(ft_htdelone, basic)
TEST_ASSERT_NOT_NULL(ft_htget(ht, "c"));
TEST_ASSERT_NOT_NULL(ft_htget(ht, "d"));
- ft_htdelone(ht, "a", st_del);
+ ft_htdelone(ht, "a", free);
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);
+ ft_htdelone(ht, "b", free);
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);
+ ft_htdelone(ht, "c", NULL);
ptr = ft_htget(ht, "c");
TEST_ASSERT_NULL(ptr);
TEST_ASSERT_NOT_NULL(ft_htget(ht, "d"));
- ft_htdelone(ht, "d", st_del);
+ ft_htdelone(ht, "d", NULL);
ptr = ft_htget(ht, "d");
TEST_ASSERT_NULL(ptr);
}
diff --git a/test/src/ht/test_ft_htdestroy.c b/test/src/ht/test_ft_htdestroy.c
index 1512a48..4d212e1 100644
--- a/test/src/ht/test_ft_htdestroy.c
+++ b/test/src/ht/test_ft_htdestroy.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/02/19 02:45:27 by cacharle #+# #+# */
-/* Updated: 2020/02/19 02:49:36 by cacharle ### ########.fr */
+/* Updated: 2020/04/03 07:07:07 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -20,19 +20,13 @@ 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);
+ ft_htset(ht, "a", strdup("1"), free);
+ ft_htset(ht, "b", strdup("2"), free);
+ ft_htset(ht, "c", "3", NULL);
+ ft_htset(ht, "d", "4", NULL);
+ ft_htdestroy(ht, NULL);
}
diff --git a/test/src/ht/test_ft_htget.c b/test/src/ht/test_ft_htget.c
index 386c3dc..4d4b4eb 100644
--- a/test/src/ht/test_ft_htget.c
+++ b/test/src/ht/test_ft_htget.c
@@ -16,12 +16,6 @@ TEST_TEAR_DOWN(ft_htget)
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, ""));
@@ -43,72 +37,72 @@ TEST(ft_htget, error_null)
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);
+ ft_htset(ht, strdup("a"), strdup("data1"), free);
+ ft_htset(ht, strdup("b"), strdup("data2"), free);
+ ft_htset(ht, strdup("c"), strdup("data3"), free);
char *s = ft_htget(ht, "a");
TEST_ASSERT_NOT_NULL(s);
- TEST_ASSERT_EQUAL_STRING(s, "data1");
+ TEST_ASSERT_EQUAL_STRING(s, "data1");
s = ft_htget(ht, "b");
TEST_ASSERT_NOT_NULL(s);
- TEST_ASSERT_EQUAL_STRING(s, "data2");
+ TEST_ASSERT_EQUAL_STRING(s, "data2");
s = ft_htget(ht, "c");
TEST_ASSERT_NOT_NULL(s);
- TEST_ASSERT_EQUAL_STRING(s, "data3");
+ 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);
+ ft_htset(ht, strdup("a"), strdup("bonjour1"), free);
+ ft_htset(ht, strdup("b"), strdup("bonjour2"), free);
+ ft_htset(ht, strdup("c"), strdup("bonjour3"), free);
s = ft_htget(ht, "a");
TEST_ASSERT_NOT_NULL(s);
- TEST_ASSERT_EQUAL_STRING(s, "bonjour1");
+ TEST_ASSERT_EQUAL_STRING(s, "bonjour1");
s = ft_htget(ht, "b");
TEST_ASSERT_NOT_NULL(s);
- TEST_ASSERT_EQUAL_STRING(s, "bonjour2");
+ TEST_ASSERT_EQUAL_STRING(s, "bonjour2");
s = ft_htget(ht, "c");
TEST_ASSERT_NOT_NULL(s);
- TEST_ASSERT_EQUAL_STRING(s, "bonjour3");
+ 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);
+ ft_htset(small, strdup("a"), strdup("data1"), free);
+ ft_htset(small, strdup("b"), strdup("data2"), free);
+ ft_htset(small, strdup("c"), strdup("data3"), free);
char *s = ft_htget(small, "a");
TEST_ASSERT_NOT_NULL(s);
- TEST_ASSERT_EQUAL_STRING(s, "data1");
+ TEST_ASSERT_EQUAL_STRING(s, "data1");
s = ft_htget(small, "b");
TEST_ASSERT_NOT_NULL(s);
- TEST_ASSERT_EQUAL_STRING(s, "data2");
+ TEST_ASSERT_EQUAL_STRING(s, "data2");
s = ft_htget(small, "c");
TEST_ASSERT_NOT_NULL(s);
- TEST_ASSERT_EQUAL_STRING(s, "data3");
+ 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);
+ ft_htset(small, strdup("a"), strdup("bonjour1"), free);
+ ft_htset(small, strdup("b"), strdup("bonjour2"), free);
+ ft_htset(small, strdup("c"), strdup("bonjour3"), free);
s = ft_htget(small, "a");
TEST_ASSERT_NOT_NULL(s);
- TEST_ASSERT_EQUAL_STRING(s, "bonjour1");
+ TEST_ASSERT_EQUAL_STRING(s, "bonjour1");
s = ft_htget(small, "b");
TEST_ASSERT_NOT_NULL(s);
- TEST_ASSERT_EQUAL_STRING(s, "bonjour2");
+ TEST_ASSERT_EQUAL_STRING(s, "bonjour2");
s = ft_htget(small, "c");
TEST_ASSERT_NOT_NULL(s);
- TEST_ASSERT_EQUAL_STRING(s, "bonjour3");
+ TEST_ASSERT_EQUAL_STRING(s, "bonjour3");
}
diff --git a/test/src/ht/test_ft_htset.c b/test/src/ht/test_ft_htset.c
index 96d848e..70232fd 100644
--- a/test/src/ht/test_ft_htset.c
+++ b/