feat(lsm): added trie search

This commit is contained in:
Jef Roosens 2023-10-13 22:08:06 +02:00
parent 622d644f25
commit 87000e8f73
Signed by: Jef Roosens
GPG key ID: B75D4F293C7052DB
5 changed files with 124 additions and 6 deletions

32
lsm/test/trie/trie.c Normal file
View file

@ -0,0 +1,32 @@
#include "lsm.h"
#include "test.h"
#include "lsm/trie_internal.h"
#define TRIE_INIT() \
lsm_trie *trie; \
TEST_CHECK(lsm_trie_init(&trie) == lsm_error_ok); \
TEST_CHECK(trie != NULL)
void test_init() {
TRIE_INIT();
/* lsm_trie_free(trie); */
}
void test_insert_one() {
TRIE_INIT();
lsm_str *s;
lsm_str_init_copy(&s, "hello");
TEST_CHECK(lsm_trie_insert(trie, s, (void *)1) == lsm_error_ok);
TEST_CHECK(lsm_trie_insert(trie, s, (void *)1) == lsm_error_already_present);
void *data;
TEST_CHECK(lsm_trie_search(&data, trie, s) == lsm_error_ok);
TEST_CHECK(data == (void *)1);
}
TEST_LIST = {
{ "trie init", test_init },
{ "trie insert one", test_insert_one },
{ NULL, NULL }
};