/** * Destroy avl tree. */ void _avl_tree_destroy(_avl_tree_t* pt_avl_tree) { assert(pt_avl_tree != NULL); assert(_avl_tree_is_inited(pt_avl_tree) || _avl_tree_is_created(pt_avl_tree)); _avl_tree_destroy_auxiliary(pt_avl_tree); free(pt_avl_tree); }
void test__avl_tree_destroy_auxiliary__non_created(void** state) { _avl_tree_t* pt_avl_tree = _create_avl_tree("int"); pt_avl_tree->_t_avlroot._un_height = 9; expect_assert_failure(_avl_tree_destroy_auxiliary(pt_avl_tree)); pt_avl_tree->_t_avlroot._un_height = 0; _avl_tree_destroy(pt_avl_tree); }
/** * Destroy set container auxiliary function. */ void _set_destroy_auxiliary(set_t* pset_set) { assert(pset_set != NULL); #ifdef CSTL_SET_AVL_TREE _avl_tree_destroy_auxiliary(&pset_set->_t_tree); #else _rb_tree_destroy_auxiliary(&pset_set->_t_tree); #endif }
void test__avl_tree_destroy_auxiliary__empty(void** state) { _avl_tree_t* pt_avl_tree = _create_avl_tree("int"); _avl_tree_init(pt_avl_tree, NULL); _avl_tree_destroy_auxiliary(pt_avl_tree); assert_true(pt_avl_tree->_t_avlroot._pt_parent == NULL); assert_true(pt_avl_tree->_t_avlroot._pt_left == &pt_avl_tree->_t_avlroot); assert_true(pt_avl_tree->_t_avlroot._pt_right == &pt_avl_tree->_t_avlroot); assert_true(pt_avl_tree->_t_nodecount == 0); assert_true(pt_avl_tree->_t_compare == NULL); free(pt_avl_tree); }
/** * Destroy map container auxiliary function. */ void _map_destroy_auxiliary(map_t* pmap_map) { assert(pmap_map != NULL); _pair_destroy_auxiliary(&pmap_map->_pair_temp); #ifdef CSTL_MAP_AVL_TREE _avl_tree_destroy_auxiliary(&pmap_map->_t_tree); #else _rb_tree_destroy_auxiliary(&pmap_map->_t_tree); #endif pmap_map->_bfun_keycompare = NULL; pmap_map->_bfun_valuecompare = NULL; }
void test__avl_tree_destroy_auxiliary__null_avl_tree(void** state) { expect_assert_failure(_avl_tree_destroy_auxiliary(NULL)); }