aboutsummaryrefslogtreecommitdiff
path: root/test/src/lst/test_ft_lstsorted_merge.c
blob: 4c548c976eff8668929088478fe8541280845c84 (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
39
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_lstadd_front(&lst1, ft_lstnew(&a));
	ft_lstadd_front(&lst1, ft_lstnew(&d));
	ft_lstadd_front(&lst1, ft_lstnew(&e));
	ft_lstadd_front(&lst1, ft_lstnew(&d));
	ft_lstadd_front(&lst1, ft_lstnew(&a));

	ft_lstadd_front(&lst2, ft_lstnew(&e));
	ft_lstadd_front(&lst2, ft_lstnew(&a));
	ft_lstadd_front(&lst2, ft_lstnew(&b));
	ft_lstadd_front(&lst2, ft_lstnew(&d));
	ft_lstadd_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->content, lst1->next->content) > 0)
			TEST_FAIL();
}