aboutsummaryrefslogtreecommitdiff
path: root/test/src
diff options
context:
space:
mode:
Diffstat (limited to 'test/src')
-rw-r--r--test/src/dstr/test_ft_dstrdestroy.c26
-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_dstrunwrap.c42
-rw-r--r--test/src/main.c7
-rw-r--r--test/src/runner/test_runner_dstr.c38
-rw-r--r--test/src/runner/test_runner_vec.c7
-rw-r--r--test/src/vec/test_ft_vecsort.c34
9 files changed, 324 insertions, 1 deletions
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_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_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/main.c b/test/src/main.c
index b9e8bf7..7bac44b 100644
--- a/test/src/main.c
+++ b/test/src/main.c
@@ -79,8 +79,15 @@ static void run_all_test(void)
RUN_TEST_GROUP(ft_vecpush);
RUN_TEST_GROUP(ft_vecremove);
RUN_TEST_GROUP(ft_vecinsert);
+
+ RUN_TEST_GROUP(ft_dstrdestroy);
+ RUN_TEST_GROUP(ft_dstrgrow);
+ RUN_TEST_GROUP(ft_dstrinsert);
+ RUN_TEST_GROUP(ft_dstrnew);
+ RUN_TEST_GROUP(ft_dstrunwrap);
}
+
int main(int argc, const char **argv)
{
return UnityMain(argc, argv, run_all_test);
diff --git a/test/src/runner/test_runner_dstr.c b/test/src/runner/test_runner_dstr.c
new file mode 100644
index 0000000..0c20048
--- /dev/null
+++ b/test/src/runner/test_runner_dstr.c
@@ -0,0 +1,38 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_runner_dstr.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/04 20:44:42 by charles #+# #+# */
+/* Updated: 2020/04/04 20:47:33 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP_RUNNER(ft_dstrdestroy)
+{
+ RUN_TEST_CASE(ft_dstrdestroy, basic);
+}
+
+TEST_GROUP_RUNNER(ft_dstrgrow)
+{
+ RUN_TEST_CASE(ft_dstrgrow, basic);
+}
+
+TEST_GROUP_RUNNER(ft_dstrinsert)
+{
+ RUN_TEST_CASE(ft_dstrinsert, basic);
+}
+
+TEST_GROUP_RUNNER(ft_dstrnew)
+{
+ RUN_TEST_CASE(ft_dstrnew, basic);
+}
+
+TEST_GROUP_RUNNER(ft_dstrunwrap)
+{
+ RUN_TEST_CASE(ft_dstrunwrap, basic);
+}
diff --git a/test/src/runner/test_runner_vec.c b/test/src/runner/test_runner_vec.c
index e084742..c393bfa 100644
--- a/test/src/runner/test_runner_vec.c
+++ b/test/src/runner/test_runner_vec.c
@@ -6,7 +6,7 @@
/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/04/01 19:55:53 by charles #+# #+# */
-/* Updated: 2020/04/02 11:01:36 by charles ### ########.fr */
+/* Updated: 2020/04/04 19:36:41 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -52,3 +52,8 @@ TEST_GROUP_RUNNER(ft_vecinsert)
{
RUN_TEST_CASE(ft_vecinsert, basic);
}
+
+TEST_GROUP_RUNNER(ft_vecsort)
+{
+ RUN_TEST_CASE(ft_vecsort, basic);
+}
diff --git a/test/src/vec/test_ft_vecsort.c b/test/src/vec/test_ft_vecsort.c
new file mode 100644
index 0000000..bfdad01
--- /dev/null
+++ b/test/src/vec/test_ft_vecsort.c
@@ -0,0 +1,34 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* test_ft_vecsort.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/04 19:31:13 by charles #+# #+# */
+/* Updated: 2020/04/04 19:45:27 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_test.h"
+
+TEST_GROUP(ft_vecsort);
+
+TEST_SETUP(ft_vecsort)
+{}
+
+TEST_TEAR_DOWN(ft_vecsort)
+{}
+
+TEST(ft_vecsort, basic)
+{
+ t_ftvec *vec = ft_vecnew(1);
+ char* arr[] = {"bonjour", "je", "suis", "lala", "z", "b"};
+ char* sorted[] = {"bonjour", "je", "suis", "lala", "z", "b"};
+
+ for (size_t i = 0; i < sizeof(arr) / sizeof(char*); i++)
+ ft_vecpush(vec, arr[i]);
+ ft_vecsort(vec, ft_compar_str);
+ ft_qsort(sorted, sizeof(sorted) / sizeof(char*), sizeof(char*), ft_compar_str);
+ TEST_ASSERT_EQUAL_STRING_ARRAY(sorted, vec->data, vec->size);
+}