diff options
Diffstat (limited to 'listpool/test/listpool_test.c')
-rw-r--r-- | listpool/test/listpool_test.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/listpool/test/listpool_test.c b/listpool/test/listpool_test.c index cb54d00..7a7b0cf 100644 --- a/listpool/test/listpool_test.c +++ b/listpool/test/listpool_test.c | |||
@@ -137,6 +137,23 @@ TEST_CASE(listpool_traverse_full) { | |||
137 | TEST_EQUAL(sum(&pool), (NUM_BLOCKS) * (NUM_BLOCKS + 1) / 2); | 137 | TEST_EQUAL(sum(&pool), (NUM_BLOCKS) * (NUM_BLOCKS + 1) / 2); |
138 | } | 138 | } |
139 | 139 | ||
140 | // Get the ith (allocated) block. | ||
141 | TEST_CASE(listpool_get_block) { | ||
142 | test_pool pool; | ||
143 | listpool_make(&pool); | ||
144 | |||
145 | for (int i = 0; i < NUM_BLOCKS; ++i) { | ||
146 | int* block = listpool_alloc(&pool); | ||
147 | TEST_TRUE(block != 0); | ||
148 | *block = i; | ||
149 | TEST_EQUAL(listpool_get_block_index(&pool, block), (size_t)i); | ||
150 | } | ||
151 | |||
152 | for (int i = 0; i < NUM_BLOCKS; ++i) { | ||
153 | TEST_EQUAL(*listpool_get_block(&pool, i), i); | ||
154 | } | ||
155 | } | ||
156 | |||
140 | // Remove a value from the list. | 157 | // Remove a value from the list. |
141 | TEST_CASE(listpool_remove_value) { | 158 | TEST_CASE(listpool_remove_value) { |
142 | test_pool pool; | 159 | test_pool pool; |