feat(lsm): implement a simple trie remove
This commit is contained in:
parent
682f422e3c
commit
6938c29725
5 changed files with 147 additions and 34 deletions
|
|
@ -54,6 +54,8 @@ void test_insert_multiple() {
|
|||
TEST_CHECK(lsm_bt_insert(bt, chars[i], (void *)(i + 1)) == lsm_error_ok);
|
||||
}
|
||||
|
||||
TEST_CHECK(lsm_bt_size(bt) == char_count);
|
||||
|
||||
void *data;
|
||||
for (size_t i = 0; i < char_count; i++) {
|
||||
TEST_CHECK(lsm_bt_insert(bt, chars[i], (void *)(i + 1)) == lsm_error_already_present);
|
||||
|
|
@ -68,11 +70,13 @@ void test_remove_root() {
|
|||
BT_INIT();
|
||||
|
||||
TEST_CHECK(lsm_bt_insert(bt, 'a', (void *)1) == lsm_error_ok);
|
||||
TEST_CHECK(lsm_bt_size(bt) == 1);
|
||||
|
||||
void *data;
|
||||
TEST_CHECK(lsm_bt_remove(&data, bt, 'a') == lsm_error_ok);
|
||||
TEST_CHECK(data == (void *)1);
|
||||
TEST_CHECK(bt->root == NULL);
|
||||
TEST_CHECK(lsm_bt_size(bt) == 0);
|
||||
|
||||
lsm_bt_free(bt);
|
||||
}
|
||||
|
|
@ -95,6 +99,8 @@ void test_remove_multiple() {
|
|||
TEST_CHECK(data == (void *)6);
|
||||
TEST_CHECK(lsm_bt_remove(&data, bt, 'e') == lsm_error_not_found);
|
||||
|
||||
TEST_CHECK(lsm_bt_size(bt) == char_count - 2);
|
||||
|
||||
lsm_bt_free(bt);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue