diff options
| author | nass1pro <nass1pro@gmail.com> | 2020-06-09 19:48:34 +0200 |
|---|---|---|
| committer | nass1pro <nass1pro@gmail.com> | 2020-06-13 11:31:00 +0200 |
| commit | 579a26f5593039ffbbd1a81e45ecf0ef8797cb5d (patch) | |
| tree | c5b6761db98e27d15bab3fb45ba9e0a646cf06e0 /test_mini/libft/test/src/lst | |
| parent | 9fabc25a980550afc6337fd729632462f2680daa (diff) | |
| download | minishell-579a26f5593039ffbbd1a81e45ecf0ef8797cb5d.tar.gz minishell-579a26f5593039ffbbd1a81e45ecf0ef8797cb5d.tar.bz2 minishell-579a26f5593039ffbbd1a81e45ecf0ef8797cb5d.zip | |
add lexer
add single quote
Diffstat (limited to 'test_mini/libft/test/src/lst')
18 files changed, 763 insertions, 0 deletions
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(); +} |
