summaryrefslogtreecommitdiff
path: root/src/test.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/test.c')
-rw-r--r--src/test.c64
1 files changed, 51 insertions, 13 deletions
diff --git a/src/test.c b/src/test.c
index a2a241d..5f2f867 100644
--- a/src/test.c
+++ b/src/test.c
@@ -6,7 +6,8 @@
void test_setkeys(void)
{
tablist_t *list = readdb("dbs/test.db");
- if (setkeys(&list, -1, "name:john"))
+ char *pairs[] = { "name:John" };
+ if (setkeys(&list, -1, pairs, 1))
fprintf(stderr, "test_setkeys: failed\n");
for (int i = 0; i < list[0].len; ++i) {
printf("id: %d\n", i);
@@ -15,32 +16,55 @@ void test_setkeys(void)
printf("%s\n", list[i].tab[indexes[j]].key);
free(indexes);
}
- delkeys(list, -1, NULL);
+ delkeys(list, -1, NULL, 0);
free(list);
}
void test_setkeys_fail(void)
{
tablist_t *list = readdb("dbs/test.db");
- if (!setkeys(&list, -1, "namejohn"))
+ char *pairs[] = { "namejohn" };
+ if (!setkeys(&list, -1, pairs, 1))
fprintf(stderr, "test_setkeys_fail: failed\n");
- delkeys(list, -1, NULL);
+ delkeys(list, -1, NULL, 0);
+ free(list);
+}
+
+void test_setkeys_multi_fail(void)
+{
+ tablist_t *list = readdb("dbs/test.db");
+ char *pairs[] = { "name:John", NULL };
+ if (!setkeys(&list, -1, pairs, 2))
+ fprintf(stderr, "test_setkeys_multi_fail: failed\n");
+ delkeys(list, -1, NULL, 0);
free(list);
}
void test_setkeys_single(void)
{
tablist_t *list = readdb("dbs/test.db");
- if (setkeys(&list, 101, "name:alice"))
+ char *pairs[] = { "name:Alice" };
+ if (setkeys(&list, 101, pairs, 1))
fprintf(stderr, "test_setkeys_single: failed\n");
- delkeys(list, -1, NULL);
+ delkeys(list, -1, NULL, 0);
+ free(list);
+}
+
+void test_setkeys_multipairs(void)
+{
+ tablist_t *list = readdb("dbs/test.db");
+ char *pairs[] = { "name:Bob", "active:true" };
+ if (setkeys(&list, 0, pairs, 2))
+ fprintf(stderr, "test_setkeys_multipairs: failed\n");
+ delkeys(list, -1, NULL, 0);
free(list);
}
void test_delkeys(void)
{
tablist_t *list = readdb("dbs/test.db");
- if (delkeys(list, -1, "Row_1"))
+ char *keys[] = { "Row_1" };
+ if (delkeys(list, -1, keys, 1))
fprintf(stderr, "test_delkeys: failed\n");
for (int i = 0; i < list[0].len; ++i) {
printf("id: %d\n", i);
@@ -49,14 +73,14 @@ void test_delkeys(void)
printf("%s\n", list[i].tab[indexes[j]].key);
free(indexes);
}
- delkeys(list, -1, NULL);
+ delkeys(list, -1, NULL, 0);
free(list);
}
void test_delkeys_all(void)
{
tablist_t *list = readdb("dbs/test.db");
- if (delkeys(list, -1, NULL))
+ if (delkeys(list, -1, NULL, 0))
fprintf(stderr, "test_delkeys_all: failed\n");
free(list);
}
@@ -64,18 +88,29 @@ void test_delkeys_all(void)
void test_delkeys_fail(void)
{
tablist_t *list = readdb("dbs/test.db");
- if (!delkeys(list, -1, "Row_4"))
+ char *keys[] = { "Row_4" };
+ if (!delkeys(list, -1, keys, 1))
fprintf(stderr, "test_delkeys_fail: failed\n");
- delkeys(list, -1, NULL);
+ delkeys(list, -1, NULL, 0);
free(list);
}
void test_delkeys_single(void)
{
tablist_t *list = readdb("dbs/test.db");
- if (delkeys(list, 0, NULL))
+ if (delkeys(list, 0, NULL, 0))
fprintf(stderr, "test_delkeys_single: failed\n");
- delkeys(list, -1, NULL);
+ delkeys(list, -1, NULL, 0);
+ free(list);
+}
+
+void test_delkeys_multi(void)
+{
+ tablist_t *list = readdb("dbs/test.db");
+ char *keys[] = { "Row_1", "Row_2" };
+ if (delkeys(list, -1, keys, 2))
+ fprintf(stderr, "test_delkeys_multi: failed\n");
+ delkeys(list, -1, NULL, 0);
free(list);
}
@@ -84,11 +119,14 @@ int main(void)
test_setkeys();
test_setkeys_fail();
test_setkeys_single();
+ test_setkeys_multipairs();
+ test_setkeys_multi_fail();
test_delkeys();
test_delkeys_all();
test_delkeys_fail();
test_delkeys_single();
+ test_delkeys_multi();
exit(0);
}