| 21 | #define DATABLOCK_BLOCK_CAP 16384 |
| 22 | |
| 23 | void test_dataBlockNew() { |
| 24 | // create a new data block, which can hold at least 1024 items |
| 25 | // each item is an integer. |
| 26 | size_t itemSize = sizeof(int); |
| 27 | DataBlock *dataBlock = DataBlock_New(DATABLOCK_BLOCK_CAP, 1024, itemSize, NULL); |
| 28 | |
| 29 | TEST_ASSERT(dataBlock->itemCount == 0); // No items were added. |
| 30 | TEST_ASSERT(dataBlock->itemCap >= 1024); |
| 31 | TEST_ASSERT(dataBlock->itemSize == itemSize + ITEM_HEADER_SIZE); |
| 32 | TEST_ASSERT(dataBlock->blockCount >= 1024 / DATABLOCK_BLOCK_CAP); |
| 33 | |
| 34 | for(int i = 0; i < dataBlock->blockCount; i++) { |
| 35 | Block *block = dataBlock->blocks[i]; |
| 36 | TEST_ASSERT(block->itemSize == dataBlock->itemSize); |
| 37 | TEST_ASSERT(block->data != NULL); |
| 38 | if(i > 0) { |
| 39 | TEST_ASSERT(dataBlock->blocks[i - 1]->next == dataBlock->blocks[i]); |
| 40 | } |
| 41 | } |
| 42 | |
| 43 | DataBlock_Free(dataBlock); |
| 44 | } |
| 45 | |
| 46 | void test_dataBlockAddItem() { |
| 47 | DataBlock *dataBlock = DataBlock_New(DATABLOCK_BLOCK_CAP, 1024, sizeof(int), NULL); |
nothing calls this directly
no test coverage detected