void test__rb_tree_iterator_before__not_same_rb_tree(void** state) { _rb_tree_t* pt_first = _create_rb_tree("int"); _rb_tree_t* pt_second = _create_rb_tree("int"); _rb_tree_iterator_t it_first; _rb_tree_iterator_t it_second; _rb_tree_init(pt_first, NULL); _rb_tree_init(pt_second, NULL); it_first = _rb_tree_begin(pt_first); it_second = _rb_tree_begin(pt_second); expect_assert_failure(_rb_tree_iterator_before(it_first, it_second)); _rb_tree_destroy(pt_first); _rb_tree_destroy(pt_second); }
/** * Initialize set container with user define compare function. */ void set_init_ex(set_t* pset_set, binary_function_t bfun_compare) { assert(pset_set != NULL); #ifdef CSTL_SET_AVL_TREE _avl_tree_init(&pset_set->_t_tree, bfun_compare); #else _rb_tree_init(&pset_set->_t_tree, bfun_compare); #endif }
/** * Initialize set container. */ void set_init(set_t* pset_set) { assert(pset_set != NULL); #ifdef CSTL_SET_AVL_TREE _avl_tree_init(&pset_set->_t_tree, NULL); #else _rb_tree_init(&pset_set->_t_tree, NULL); #endif }
/** * Initialize multiset container with user define compare function. */ void multiset_init_ex(multiset_t* pmset_mset, binary_function_t bfun_compare) { assert(pmset_mset != NULL); #ifdef CSTL_MULTISET_AVL_TREE _avl_tree_init(&pmset_mset->_t_tree, bfun_compare); #else _rb_tree_init(&pmset_mset->_t_tree, bfun_compare); #endif }
/** * Initialize multiset container. */ void multiset_init(multiset_t* pmset_mset) { assert(pmset_mset != NULL); #ifdef CSTL_MULTISET_AVL_TREE _avl_tree_init(&pmset_mset->_t_tree, NULL); #else _rb_tree_init(&pmset_mset->_t_tree, NULL); #endif }
void test__rb_tree_destroy_auxiliary__non_inited(void** state) { _rb_tree_t* pt_rb_tree = _create_rb_tree("int"); _rb_tree_init(pt_rb_tree, NULL); pt_rb_tree->_t_rbroot._t_color = _COLOR_BLACK; expect_assert_failure(_rb_tree_destroy_auxiliary(pt_rb_tree)); pt_rb_tree->_t_rbroot._t_color = _COLOR_RED; _rb_tree_destroy(pt_rb_tree); }
void test__rb_tree_iterator_get_value__null_value(void** state) { _rb_tree_t* pt_rb_tree = _create_rb_tree("int"); _rb_tree_iterator_t it_iter; _rb_tree_init(pt_rb_tree, NULL); it_iter = _rb_tree_end(pt_rb_tree); expect_assert_failure(_rb_tree_iterator_get_value(it_iter, NULL)); _rb_tree_destroy(pt_rb_tree); }
void test__rb_tree_iterator_next__end(void** state) { _rb_tree_t* pt_rb_tree = _create_rb_tree("int"); _rb_tree_iterator_t it_iter; _rb_tree_init(pt_rb_tree, NULL); it_iter = _rb_tree_end(pt_rb_tree); expect_assert_failure(_rb_tree_iterator_next(it_iter)); _rb_tree_destroy(pt_rb_tree); }
void test__rb_tree_iterator_get_pointer__c_builtin(void** state) { _rb_tree_t* pt_rb_tree = _create_rb_tree("int"); _rb_tree_iterator_t it_iter; int elem = 12; _rb_tree_init(pt_rb_tree, NULL); _rb_tree_insert_unique(pt_rb_tree, &elem); it_iter = _rb_tree_begin(pt_rb_tree); assert_true(*(int*)_rb_tree_iterator_get_pointer(it_iter) == 12); _rb_tree_destroy(pt_rb_tree); }
void test__rb_tree_destroy_auxiliary__empty(void** state) { _rb_tree_t* pt_rb_tree = _create_rb_tree("int"); _rb_tree_init(pt_rb_tree, NULL); _rb_tree_destroy_auxiliary(pt_rb_tree); assert_true(pt_rb_tree->_t_rbroot._pt_parent == NULL); assert_true(pt_rb_tree->_t_rbroot._pt_left == &pt_rb_tree->_t_rbroot); assert_true(pt_rb_tree->_t_rbroot._pt_right == &pt_rb_tree->_t_rbroot); assert_true(pt_rb_tree->_t_nodecount == 0); assert_true(pt_rb_tree->_t_compare == NULL); free(pt_rb_tree); }
/* map function */ void map_init(map_t* pt_map) { assert(pt_map != NULL); /* initialize the pair */ pair_init(&pt_map->_t_pair); /* initialize the tree */ #ifdef CSTL_MAP_AVL_TREE _avl_tree_init(_GET_MAP_AVL_TREE(pt_map), _map_cmp, _map_destroy_elem); #else _rb_tree_init(_GET_MAP_RB_TREE(pt_map), _map_cmp, _map_destroy_elem); #endif }
void test__rb_tree_iterator_prev__null_tree(void** state) { _rb_tree_t* pt_rb_tree = _create_rb_tree("int"); _rb_tree_iterator_t it_iter; _rb_tree_init(pt_rb_tree, NULL); it_iter = _rb_tree_begin(pt_rb_tree); it_iter._t_pos._t_treepos._pt_tree = NULL; expect_assert_failure(_rb_tree_iterator_prev(it_iter)); _rb_tree_destroy(pt_rb_tree); }
/** * Initialize map container. */ void map_init(map_t* pmap_map) { assert(pmap_map != NULL); assert(_pair_is_created(&pmap_map->_pair_temp)); /* initialize the pair */ pair_init(&pmap_map->_pair_temp); /* initialize the tree */ #ifdef CSTL_MAP_AVL_TREE _avl_tree_init(&pmap_map->_t_tree, _map_value_compare); #else _rb_tree_init(&pmap_map->_t_tree, _map_value_compare); #endif }
void test__rb_tree_iterator_get_pointer__cstr(void** state) { _rb_tree_t* pt_rb_tree = _create_rb_tree("char*"); _rb_tree_iterator_t it_iter; string_t* pstr = create_string(); string_init_cstr(pstr, "abc"); _rb_tree_init(pt_rb_tree, NULL); _rb_tree_insert_unique(pt_rb_tree, pstr); it_iter = _rb_tree_begin(pt_rb_tree); assert_true(strcmp((char*)_rb_tree_iterator_get_pointer(it_iter), "abc") == 0); _rb_tree_destroy(pt_rb_tree); }
void test__rb_tree_iterator_get_pointer__libcstl_builtin(void** state) { _rb_tree_t* pt_rb_tree = _create_rb_tree("vector_t<int>"); _rb_tree_iterator_t it_iter; vector_t* pvec = create_vector(int); _rb_tree_init(pt_rb_tree, NULL); vector_init_n(pvec, 10); _rb_tree_insert_unique(pt_rb_tree, pvec); it_iter = _rb_tree_begin(pt_rb_tree); assert_true(vector_size((vector_t*)_rb_tree_iterator_get_pointer(it_iter)) == 10); _rb_tree_destroy(pt_rb_tree); }
void test__rb_tree_iterator_before__invalid_second(void** state) { _rb_tree_t* pt_rb_tree = _create_rb_tree("int"); _rb_tree_iterator_t it_first; _rb_tree_iterator_t it_second; _rb_tree_init(pt_rb_tree, NULL); it_first = _rb_tree_begin(pt_rb_tree); it_second = _rb_tree_begin(pt_rb_tree); it_second._t_pos._t_treepos._pby_corepos = NULL; expect_assert_failure(_rb_tree_iterator_before(it_first, it_second)); _rb_tree_destroy(pt_rb_tree); }
void test__rb_tree_iterator_get_value__null_tree(void** state) { _rb_tree_t* pt_rb_tree = _create_rb_tree("int"); _rb_tree_iterator_t it_iter; int elem = 0; _rb_tree_init(pt_rb_tree, NULL); it_iter = _rb_tree_begin(pt_rb_tree); it_iter._t_pos._t_treepos._pt_tree = NULL; expect_assert_failure(_rb_tree_iterator_get_value(it_iter, &elem)); _rb_tree_destroy(pt_rb_tree); }
void test__rb_tree_iterator_prev__begin(void** state) { _rb_tree_t* pt_rb_tree = _create_rb_tree("int"); _rb_tree_iterator_t it_iter; int elem = 100; _rb_tree_init(pt_rb_tree, NULL); _rb_tree_insert_unique(pt_rb_tree, &elem); it_iter = _rb_tree_begin(pt_rb_tree); expect_assert_failure(_rb_tree_iterator_prev(it_iter)); _rb_tree_destroy(pt_rb_tree); }
void test__rb_tree_iterator_before__equal(void** state) { _rb_tree_t* pt_rb_tree = _create_rb_tree("int"); _rb_tree_iterator_t it_first; _rb_tree_iterator_t it_second; int elem = 100; _rb_tree_init(pt_rb_tree, NULL); _rb_tree_insert_unique(pt_rb_tree, &elem); it_first = _rb_tree_begin(pt_rb_tree); it_second = _rb_tree_begin(pt_rb_tree); assert_false(_rb_tree_iterator_before(it_first, it_second)); _rb_tree_destroy(pt_rb_tree); }
void test__rb_tree_iterator_distance__0(void** state) { _rb_tree_t* pt_rb_tree = _create_rb_tree("int"); _rb_tree_iterator_t it_first; _rb_tree_iterator_t it_second; int elem = 100; _rb_tree_init(pt_rb_tree, NULL); _rb_tree_insert_unique(pt_rb_tree, &elem); it_first = _rb_tree_begin(pt_rb_tree); it_second = _rb_tree_begin(pt_rb_tree); assert_true(_rb_tree_iterator_distance(it_first, it_second) == 0); _rb_tree_destroy(pt_rb_tree); }
void test__rb_tree_iterator_prev__end(void** state) { _rb_tree_t* pt_rb_tree = _create_rb_tree("int"); _rb_tree_iterator_t it_iter; int elem = 10; _rb_tree_init(pt_rb_tree, NULL); _rb_tree_insert_unique(pt_rb_tree, &elem); it_iter = _rb_tree_end(pt_rb_tree); it_iter = _rb_tree_iterator_prev(it_iter); assert_true(_rb_tree_iterator_equal(it_iter, _rb_tree_begin(pt_rb_tree))); _rb_tree_destroy(pt_rb_tree); }
/** * Initialize map container with user define compare function. */ void map_init_ex(map_t* pmap_map, binary_function_t bfun_keycompare) { assert(pmap_map != NULL); assert(_pair_is_created(&pmap_map->_pair_temp)); pair_init(&pmap_map->_pair_temp); pmap_map->_bfun_keycompare = bfun_keycompare; pmap_map->_pair_temp._bfun_mapkeycompare = bfun_keycompare; #ifdef CSTL_MAP_AVL_TREE _avl_tree_init(&pmap_map->_t_tree, _map_value_compare); #else _rb_tree_init(&pmap_map->_t_tree, _map_value_compare); #endif }
void test__rb_tree_iterator_prev__last(void** state) { _rb_tree_t* pt_rb_tree = _create_rb_tree("int"); _rb_tree_iterator_t it_iter; int elem = 10; _rb_tree_init(pt_rb_tree, NULL); _rb_tree_insert_unique(pt_rb_tree, &elem); elem = 3; _rb_tree_insert_unique(pt_rb_tree, &elem); it_iter = _rb_tree_iterator_prev(_rb_tree_end(pt_rb_tree)); assert_true(*(int*)_rb_tree_iterator_get_pointer(it_iter) == 10); it_iter = _rb_tree_iterator_prev(it_iter); assert_true(*(int*)_rb_tree_iterator_get_pointer(it_iter) == 3); _rb_tree_destroy(pt_rb_tree); }
void test__rb_tree_iterator_get_pointer__user_define(void** state) { _rb_tree_t* pt_rb_tree = NULL; _rb_tree_iterator_t it_iter; _test__rb_tree_iterator_get_pointer__user_define_t elem; type_register(_test__rb_tree_iterator_get_pointer__user_define_t, NULL, NULL, NULL, NULL); pt_rb_tree = _create_rb_tree("_test__rb_tree_iterator_get_pointer__user_define_t"); _rb_tree_init(pt_rb_tree, NULL); elem.elem = 100; _rb_tree_insert_unique(pt_rb_tree, &elem); it_iter = _rb_tree_begin(pt_rb_tree); assert_true(((_test__rb_tree_iterator_get_pointer__user_define_t*)_rb_tree_iterator_get_pointer(it_iter))->elem == 100); _rb_tree_destroy(pt_rb_tree); }