BOSTree *test_tree() { BOSTree *t = bostree_new((BOSTree_cmp_function)strcmp, NULL); char i; for(i='A'; i<'Z'; i++) { char *key = malloc(2); key[0] = i; key[1] = 0; bostree_insert(t, key, NULL); } return t; }
int main() { BOSTree *tree = bostree_new((BOSTree_cmp_function)strcmp, NULL); char iter; printf("Insert test:\n"); for(iter='A'; iter<='Z'; iter++) { char *data = malloc(2); *data = iter; data[1] = 0; printf("Insert %s, ", data); bostree_insert(tree, data, strdup("Value")); test_tree_sanity(tree); } #ifndef NDEBUG bostree_print(tree); #endif printf("\nRemove test:\n"); for(iter='A'; iter<='Z'; iter++) { char data[2]; *data = iter; data[1] = 0; printf("Remove %s, ", data); BOSNode *node = bostree_lookup(tree, data); if(node != NULL) { free(node->key); } else { printf("Lookup for %s showed it was already deleted\n", data); exit(1); } bostree_remove(tree, node); test_tree_sanity(tree); } printf("\n"); bostree_destroy(tree); exit(0); }