static int test_size_empty(c_pmap thiz) { int i = 0; printf("max size is %d\n", c_map_max_size(thiz)); printf("size is %d\n", c_map_size(thiz)); printf("is empty? %s\n", c_map_empty(thiz) ? "yes" : "no"); for(; i < sizeof(values) / sizeof(int); ++ i) { printf("now insert %d\n", i + 1); c_map_insert(thiz, &pairs[i]); printf("size is %d\n", c_map_size(thiz)); printf("is empty? %s\n", c_map_empty(thiz) ? "yes" : "no"); } printf("now clear\n"); c_map_clear(thiz); printf("size is %d\n", c_map_size(thiz)); printf("is empty? %s\n", c_map_empty(thiz) ? "yes" : "no"); return 0; }
static int test_erase(c_pmap thiz) { c_iterator iter = c_map_begin(thiz); c_iterator end = c_map_end(thiz); assert(__c_rb_tree_verify(thiz->_l)); //c_map_erase(thiz, end); // erasing end results in error assert(__c_rb_tree_verify(thiz->_l)); while(!ITER_EQUAL(iter, end)) { c_iterator to_erase = iter; assert_valid_iter(thiz, to_erase); c_map_erase(thiz, to_erase); assert(__c_rb_tree_verify(thiz->_l)); iter = c_map_begin(thiz); end = c_map_end(thiz); } assert(__c_rb_tree_verify(thiz->_l)); assert(c_map_empty(thiz)); return 0; }
static BOOL __map_isEmpty(Map *map){ return c_map_empty(&map->values); }