/** * This is a test for block in si */ #include "si_test.h" #include "si_block.h" TEST_FUNC(si_block) { char * s[] = { "Hello", "World", "This", "Is", "Me"}; SiBlock * b = siblock_newempty(sizeof(char *)); TEST_NOTNULL(b); TEST_INTEQ(siblock_elementsize(b), sizeof(char *)); TEST_INTEQ(siblock_size(b), 0); TEST_NULL(siblock_getptr(b, 10)); TEST_NULL(siblock_getptr(b, 1)); TEST_NOTNULL(siblock_addptr(b, s[0])); TEST_NOTNULL(siblock_addptr(b, s[1])); TEST_INTEQ(siblock_size(b), 2); TEST_NOTNULL(siblock_getptr(b, 1)); TEST_NOTNULL(siblock_getptr(b, 0)); TEST_STREQ(((char *)siblock_getptr(b, 1)), s[1]); TEST_STREQ(((char *)siblock_getptr(b, 0)), s[0]); TEST_NOTNULL(siblock_setptr(b, 301, s[3])); TEST_NOTNULL(siblock_getptr(b, 301)); TEST_INTEQ(siblock_size(b), 302); TEST_STREQ(((char **)siblock_getptr(b, 301)), s[3]); TEST_NOTNULL(siblock_setptr(b, 401, s[4])); TEST_INTEQ(siblock_size(b), 402); TEST_NOTNULL(siblock_getptr(b, 401)); TEST_STREQ(((char **)siblock_getptr(b, 401)), s[4]); siblock_free(b); TEST_DONE(); } int main(void) { TEST_INIT(); TEST_RUN(si_block); TEST_REPORT(); }