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
41
|
#include "kern/mem.h"
#include "shared/linked_list.h"
#include "test_harness.h"
LINKED_LIST_STATIC_DECL(int);
LINKED_LIST_STATIC_IMPL(int);
TEST(linked_list, smell)
{
linked_list_t(int) ll = LINKED_LIST_INIT;
ASSERT_EQ(linked_list_length(int)(&ll), 0);
linked_list_push_front(int)(&ll, 5);
ASSERT_EQ(linked_list_length(int)(&ll), 1);
linked_list_push_front(int)(&ll, 3);
linked_list_push_back(int)(&ll, 2);
ASSERT_EQ(linked_list_length(int)(&ll), 3);
ASSERT_EQ(*linked_list_front(int)(&ll), 3);
ASSERT_EQ(*linked_list_back(int)(&ll), 2);
linked_list_push_back(int)(&ll, 7);
ASSERT_EQ(*linked_list_back(int)(&ll), 7);
linked_list_pop_back(int)(&ll);
ASSERT_EQ(*linked_list_back(int)(&ll), 2);
linked_list_pop_front(int)(&ll);
ASSERT_EQ(*linked_list_front(int)(&ll), 5);
linked_list_pop_front(int)(&ll);
ASSERT_EQ(*linked_list_front(int)(&ll), 2);
linked_list_pop_front(int)(&ll);
ASSERT_EQ(linked_list_front(int)(&ll), NULL);
return 0;
}
|