diff options
Diffstat (limited to 'test/src/lst')
| -rw-r--r-- | test/src/lst/test_ft_lstlfind.c | 55 | ||||
| -rw-r--r-- | test/src/lst/test_ft_lstlsearch.c | 55 |
2 files changed, 110 insertions, 0 deletions
diff --git a/test/src/lst/test_ft_lstlfind.c b/test/src/lst/test_ft_lstlfind.c new file mode 100644 index 0000000..493a8ad --- /dev/null +++ b/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_lstadd_front(&lst, ft_lstnew(&c)); + ft_lstadd_front(&lst, ft_lstnew(&c)); + ft_lstadd_front(&lst, ft_lstnew(&a)); + ft_lstadd_front(&lst, ft_lstnew(&c)); + ft_lstadd_front(&lst, ft_lstnew(&b)); + ft_lstadd_front(&lst, ft_lstnew(&a)); + ft_lstadd_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_lstclear(&lst, NULL); +} diff --git a/test/src/lst/test_ft_lstlsearch.c b/test/src/lst/test_ft_lstlsearch.c new file mode 100644 index 0000000..c9f9c64 --- /dev/null +++ b/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_lstadd_front(&lst, ft_lstnew(&c)); + ft_lstadd_front(&lst, ft_lstnew(&c)); + ft_lstadd_front(&lst, ft_lstnew(&a)); + ft_lstadd_front(&lst, ft_lstnew(&c)); + ft_lstadd_front(&lst, ft_lstnew(&b)); + ft_lstadd_front(&lst, ft_lstnew(&a)); + ft_lstadd_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_lstclear(&lst, NULL); +} |
