From d3b011efa05bbca15f0a7da7412f0d5634f4f962 Mon Sep 17 00:00:00 2001 From: bpc2003 Date: Wed, 9 Apr 2025 12:52:28 -0400 Subject: Update delkeys to handle both batch and single operations --- src/test.c | 47 ++++++++++++++++++++--------------------------- 1 file changed, 20 insertions(+), 27 deletions(-) (limited to 'src/test.c') diff --git a/src/test.c b/src/test.c index 0e5b448..a2a241d 100644 --- a/src/test.c +++ b/src/test.c @@ -11,12 +11,11 @@ void test_setkeys(void) 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) { + 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); } + delkeys(list, -1, NULL); free(list); } @@ -25,12 +24,7 @@ void test_setkeys_fail(void) tablist_t *list = readdb("dbs/test.db"); if (!setkeys(&list, -1, "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); - } + delkeys(list, -1, NULL); free(list); } @@ -39,36 +33,30 @@ void test_setkeys_single(void) tablist_t *list = readdb("dbs/test.db"); if (setkeys(&list, 101, "name:alice")) fprintf(stderr, "test_setkeys_single: 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); - } + delkeys(list, -1, NULL); free(list); } void test_delkeys(void) { tablist_t *list = readdb("dbs/test.db"); - if (delkeys(list, "Row_1")) + if (delkeys(list, -1, "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) { + 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); } + delkeys(list, -1, NULL); free(list); } void test_delkeys_all(void) { tablist_t *list = readdb("dbs/test.db"); - if (delkeys(list, NULL)) + if (delkeys(list, -1, NULL)) fprintf(stderr, "test_delkeys_all: failed\n"); free(list); } @@ -76,14 +64,18 @@ void test_delkeys_all(void) void test_delkeys_fail(void) { tablist_t *list = readdb("dbs/test.db"); - if (!delkeys(list, "Row_4")) + if (!delkeys(list, -1, "Row_4")) fprintf(stderr, "test_delkeys_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); - } + delkeys(list, -1, NULL); + free(list); +} + +void test_delkeys_single(void) +{ + tablist_t *list = readdb("dbs/test.db"); + if (delkeys(list, 0, NULL)) + fprintf(stderr, "test_delkeys_single: failed\n"); + delkeys(list, -1, NULL); free(list); } @@ -96,6 +88,7 @@ int main(void) test_delkeys(); test_delkeys_all(); test_delkeys_fail(); + test_delkeys_single(); exit(0); } -- cgit v1.2.3