diff options
Diffstat (limited to 'src/test.c')
-rw-r--r-- | src/test.c | 34 |
1 files changed, 34 insertions, 0 deletions
@@ -9,6 +9,38 @@ void test_setkeys(void) if (setkeys(&list, "name:john")) fprintf(stderr, "test_setkeys: failed\n"); for (int i = 0; i < list[0].len; ++i) { + printf("id: %d\n", i); + int *indexes = getkeys(list, i); + for (int j = 0; indexes[j]; ++j) { + printf("%s\n", list[i].tab[indexes[j]].key); + delkey(list, i, list[i].tab[indexes[j]].key); + } + free(indexes); + } + free(list); +} + +void test_setkeys_fail(void) +{ + tablist_t *list = readdb("dbs/test.db"); + if (!setkeys(&list, "namejohn")) + fprintf(stderr, "test_setkeys_fail: failed\n"); + for (int i = 0; i < list[0].len; ++i) { + int *indexes = getkeys(list, i); + for (int j = 0; indexes[j]; ++j) + delkey(list, i, list[i].tab[indexes[j]].key); + free(indexes); + } + free(list); +} + +void test_delkeys(void) +{ + tablist_t *list = readdb("dbs/test.db"); + if (delkeys(list, "Row_1")) + fprintf(stderr, "test_delkeys: failed\n"); + for (int i = 0; i < list[0].len; ++i) { + printf("id: %d\n", i); int *indexes = getkeys(list, i); for (int j = 0; indexes[j]; ++j) { printf("%s\n", list[i].tab[indexes[j]].key); @@ -22,5 +54,7 @@ void test_setkeys(void) int main(void) { test_setkeys(); + test_setkeys_fail(); + test_delkeys(); exit(0); } |