aboutsummaryrefslogtreecommitdiff
path: root/test/src/lst/test_ft_lstsort.c
blob: 3b771ae14ec5d5c61d95295b4dc9c030a2349559 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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);
}