diff options
author | bpc2003 <wpesfriendnva@gmail.com> | 2025-04-05 13:14:44 -0400 |
---|---|---|
committer | bpc2003 <wpesfriendnva@gmail.com> | 2025-04-05 13:14:44 -0400 |
commit | 6eaa6e615a18422b140a7661ae5e31d48743324c (patch) | |
tree | 1be6cefbff4346a75e11fd41ecdcea0547fb0964 /src/test.c | |
parent | 127964c29a3834404f50fa611d75ce4c679f34ba (diff) |
Update setkeys so it handles both single and batch operations
Diffstat (limited to 'src/test.c')
-rw-r--r-- | src/test.c | 19 |
1 files changed, 17 insertions, 2 deletions
@@ -6,7 +6,7 @@ void test_setkeys(void) { tablist_t *list = readdb("dbs/test.db"); - if (setkeys(list, "name:john")) + if (setkeys(&list, -1, "name:john")) fprintf(stderr, "test_setkeys: failed\n"); for (int i = 0; i < list[0].len; ++i) { printf("id: %d\n", i); @@ -23,7 +23,7 @@ void test_setkeys(void) void test_setkeys_fail(void) { tablist_t *list = readdb("dbs/test.db"); - if (!setkeys(list, "namejohn")) + 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); @@ -34,6 +34,20 @@ void test_setkeys_fail(void) free(list); } +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); + } + free(list); +} + void test_delkeys(void) { tablist_t *list = readdb("dbs/test.db"); @@ -77,6 +91,7 @@ int main(void) { test_setkeys(); test_setkeys_fail(); + test_setkeys_single(); test_delkeys(); test_delkeys_all(); |