Package Management
test_list.h
Go to the documentation of this file.
1 
10 #ifndef TEST_LINKEDLIST_H
11 #define TEST_LINKEDLIST_H
12 
13 #include "list.h"
14 
15 void test_init(void){
16  packData pd = init_packData(100,100);
17  kill_packData(pd);
18 }
19 
20 void test_linklist(void){
21  packData pd = init_packData(100,100);
22 
23  //Poplast
24  for(int i=0;i<40;i++)
25  _insertlist(pd,0,i);
26 
27  for(int i=40;i<80;i++)
28  _insertlist(pd, 23, i);
29 
30  for(int i=1;i<100;i++){
31  _mergelist(pd, 0,i );
32 
33  TEST_CHECK(pd.lines[i].list.first == NULL);
34  TEST_CHECK(pd.lines[i].list.last == NULL);
35  }
36 
37  _popFirst(pd, 0);
38 
39  for(int i=1;i<80;i++)
40  _popLast(pd, 0);
41 
42 
43  kill_packData(pd);
44 
45  //PopFirst
46  pd = init_packData(100,100);
47 
48  _mergelist(pd, 0,1);
49 
50  for(int i=0;i<101;i++)
51  _insertlist(pd, 1, i);
52 
53  for(int i=0;i<101;i++)
54  _popFirst(pd, 1);
55 
56  TEST_CHECK(pd.lines[0].list.first == NULL);
57  TEST_CHECK(pd.lines[0].list.last == NULL);
58  TEST_CHECK(pd.lines[1].list.first == NULL);
59  TEST_CHECK(pd.lines[1].list.last == NULL);
60 
61  kill_packData(pd);
62 }
63 
64 
65 #endif
int _popFirst(packData pd, int iLine)
Pop first item. Set popped item.avail (pack) to zero.
Definition: list.c:419
int _popLast(packData pd, int iLine)
Similar to _popFirst .
Definition: list.c:443
packData init_packData(int n, int l)
Initiate a package management problem.
Definition: list.c:43
Definition: list.h:60