Package Management
test_heap.h
Go to the documentation of this file.
1 
10 #ifndef TEST_HEAP_H
11 #define TEST_HEAP_H
12 
13 #include "list.h"
14 #include "acutest.h"
15 
16 void test_heap(void){
17  packData pd = init_packData(100,100);
18  int a;
19 
20  //Heap insertion
21  for (int i=1;i<=40;i++){
22  _insertHeap(pd, 0, i);
23  }
24 
25  //Heap extraction
26  for (int i=40;i>=1;i--){
27  a = _popMaxHeap(pd, 0);
28  TEST_CHECK(i == a );
29  TEST_MSG("Exp: %d ; Got: %d",i, a);
30  }
31 
32  TEST_CHECK(pd.lines[0].heap == NULL);
33 
34  kill_packData(pd);
35 }
36 
37 
38 void test_heapMerge(void){
39  packData pd = init_packData(100,100);
40  int a;
41 
42  //Heap insertion
43  for (int i=1;i<=20;i++){
44  PushPack(pd, 0, i);
45  }
46  for (int i=21;i<=40;i++){
47  PushPack(pd, 1, i);
48  }
49 
50  _mergeHeap(pd, 0, 1);
51 
52  TEST_CHECK(pd.lines[1].heap == NULL);
53 
54 
55  //Heap extraction
56  for (int i=40;i>=1;i--){
57  a = _popMaxHeap(pd, 0);
58  TEST_CHECK(i == a );
59  TEST_MSG("Exp: %d ; Got: %d",i, a);
60  }
61 
62  TEST_CHECK(pd.lines[0].heap == NULL);
63 
64  kill_packData(pd);
65 }
66 
67 
68 
69 #endif
packData init_packData(int n, int l)
Initiate a package management problem.
Definition: list.c:43
Definition: list.h:60