From 167611e6faf27bd1bc5ef84b6bf44f76ef3f896c Mon Sep 17 00:00:00 2001 From: Chewing_Bever Date: Fri, 27 Jan 2023 21:59:09 +0100 Subject: [PATCH] test(heap): test insert after every pop just in case --- test/heap/test_heap.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/test/heap/test_heap.c b/test/heap/test_heap.c index 84f24c1..f77b0dc 100644 --- a/test/heap/test_heap.c +++ b/test/heap/test_heap.c @@ -159,6 +159,18 @@ void test_pop_random() { TEST_CHECK_(data == (void *)numbers[i], "pop %lx == %lx", (uint64_t)data, numbers[i]); TEST_SIZE(heap, n - i - 1); TEST_CHECK(count_nodes_heap(heap) == n - i - 1); + + // Assure each size is also a valid heap after inserting + vieter_heap_insert(heap, numbers[i], (void *)numbers[i]); + TEST_SIZE(heap, n - i); + TEST_CHECK(count_nodes_heap(heap) == n - i); + + data = NULL; + + TEST_CHECK(vieter_heap_pop(&data, heap) == vieter_heap_ok); + TEST_CHECK_(data == (void *)numbers[i], "pop %lx == %lx", (uint64_t)data, numbers[i]); + TEST_SIZE(heap, n - i - 1); + TEST_CHECK(count_nodes_heap(heap) == n - i - 1); } vieter_heap_free(heap);