Lines Matching defs:heap
21 * \brief Memory pool heap class.
57 * \brief Test heap functionality.
62 TestHeap* heap = TestHeap_create(pool);
65 TestHeap_push(heap, HeapItem_create(10, 10));
66 TestHeap_push(heap, HeapItem_create(0, 10));
67 TestHeap_push(heap, HeapItem_create(20, 10));
68 DE_TEST_ASSERT(TestHeap_getNumElements(heap) == 3);
70 DE_TEST_ASSERT(TestHeap_popMin(heap).priority == 0);
71 DE_TEST_ASSERT(TestHeap_popMin(heap).priority == 10);
72 DE_TEST_ASSERT(TestHeap_popMin(heap).priority == 20);
73 DE_TEST_ASSERT(TestHeap_getNumElements(heap) == 0);
75 /* Push items -1000..1000 into heap. */
80 TestHeap_push(heap, HeapItem_create(i, -i));
82 DE_TEST_ASSERT(TestHeap_getNumElements(heap) == 2000);
84 /* Push items -2500..-3000 into heap. */
86 TestHeap_push(heap, HeapItem_create(i, -i));
87 DE_TEST_ASSERT(TestHeap_getNumElements(heap) == 2500);
89 /* Push items 6000..7500 into heap. */
91 TestHeap_push(heap, HeapItem_create(i, -i));
92 DE_TEST_ASSERT(TestHeap_getNumElements(heap) == 4000);
94 /* Pop -3000..-2500 from heap. */
97 HeapItem h = TestHeap_popMin(heap);
101 DE_TEST_ASSERT(TestHeap_getNumElements(heap) == 3500);
103 /* Pop -1000..1000 from heap. */
106 HeapItem h = TestHeap_popMin(heap);
110 DE_TEST_ASSERT(TestHeap_getNumElements(heap) == 1500);
112 /* Pop 6000..7500 from heap. */
115 HeapItem h = TestHeap_popMin(heap);
119 DE_TEST_ASSERT(TestHeap_getNumElements(heap) == 0);