splaytree_destroy(tree);
}
+ TEST(Verify_Insert_will_insert_does_nothing_if_item_already_present)
+ {
+ splaytree_t* tree = splaytree_create((del_fn_t)del_int, (cmp_fn_t)cmp_int);
+ splaytree_insert(tree, 42, (void*)42);
+ splaytree_insert(tree, 42, (void*)42);
+ CHECK((void*)42 == tree->root->value);
+ CHECK(NULL == tree->root->left);
+ CHECK(NULL == tree->root->right);
+ splaytree_destroy(tree);
+ }
+
TEST(Verify_Insert_will_insert_to_the_left_of_root_when_less_than)
{
splaytree_t* tree = splaytree_create((del_fn_t)del_int, (cmp_fn_t)cmp_int);
splaytree_destroy(tree);
}
+ TEST(Verify_Lookup_will_return_null_if_tree_is_empty)
+ {
+ splaytree_t* tree = splaytree_create((del_fn_t)del_int, (cmp_fn_t)cmp_int);
+ CHECK(NULL == splaytree_lookup(tree, 43));
+ splaytree_destroy(tree);
+ }
+
+ TEST(Verify_Lookup_will_return_null_if_value_is_not_present)
+ {
+ splaytree_t* tree = splaytree_create((del_fn_t)del_int, (cmp_fn_t)cmp_int);
+ splaytree_insert(tree, 42, (void*)42);
+ CHECK(NULL == splaytree_lookup(tree, 43));
+ splaytree_destroy(tree);
+ }
+
TEST(Verify_Lookup_will_find_the_item_left_of_root_when_less_than)
{
splaytree_t* tree = splaytree_create((del_fn_t)del_int, (cmp_fn_t)cmp_int);
{
splaytree_t* tree = splaytree_create((del_fn_t)del_int, (cmp_fn_t)cmp_int);
splaytree_insert(tree, 42, (void*)42);
- splaytree_delete(tree, 42);
+ CHECK((void*)42 == splaytree_delete(tree, 42));
CHECK(tree->root == NULL);
splaytree_destroy(tree);
}
splaytree_t* tree = splaytree_create((del_fn_t)del_int, (cmp_fn_t)cmp_int);
splaytree_insert(tree, 42, (void*)42);
splaytree_insert(tree, 43, (void*)43);
- splaytree_delete(tree, 42);
+ CHECK((void*)42 == splaytree_delete(tree, 42));
CHECK(tree->root != NULL);
CHECK(tree->root->value == (void*)43);
splaytree_destroy(tree);
splaytree_t* tree = splaytree_create((del_fn_t)del_int, (cmp_fn_t)cmp_int);
splaytree_insert(tree, 42, (void*)42);
splaytree_insert(tree, 43, (void*)43);
- splaytree_delete(tree, 43);
+ CHECK((void*)43 == splaytree_delete(tree, 43));
CHECK(tree->root != NULL);
CHECK(tree->root->value == (void*)42);
splaytree_destroy(tree);
splaytree_insert(tree, 41, (void*)41);
splaytree_insert(tree, 42, (void*)42);
splaytree_insert(tree, 43, (void*)43);
- splaytree_delete(tree, 41);
+ CHECK((void*)41 == splaytree_delete(tree, 41));
CHECK(tree->root != NULL);
CHECK(tree->root->value == (void*)42);
splaytree_destroy(tree);
splaytree_insert(tree, 43, (void*)43);
splaytree_insert(tree, 44, (void*)44);
splaytree_insert(tree, 42, (void*)42);
- splaytree_delete(tree, 42);
+ CHECK((void*)42 == splaytree_delete(tree, 42));
CHECK(tree->root != NULL);
CHECK(tree->root->value == (void*)41);
CHECK(tree->root->left != NULL);
CHECK(tree->root->right->left == NULL);
splaytree_destroy(tree);
}
+
+ TEST(Verify_Delete_should_do_nothing_when_tree_empty)
+ {
+ splaytree_t* tree = splaytree_create((del_fn_t)del_int, (cmp_fn_t)cmp_int);
+ CHECK(NULL == splaytree_delete(tree, 42));
+ splaytree_destroy(tree);
+ }
}