MCPcopy Create free account
hub / github.com/RedisGraph/RedisGraph / test_dataBlockNew

Function test_dataBlockNew

tests/unit/test_datablock.c:23–44  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

21#define DATABLOCK_BLOCK_CAP 16384
22
23void 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
46void test_dataBlockAddItem() {
47 DataBlock *dataBlock = DataBlock_New(DATABLOCK_BLOCK_CAP, 1024, sizeof(int), NULL);

Callers

nothing calls this directly

Calls 2

DataBlock_NewFunction · 0.85
DataBlock_FreeFunction · 0.85

Tested by

no test coverage detected