static void recursive_print(const trie_node_t *node, guint l) { guint i = 0; guint len = 0; while (node) { printf("%s", trie_key(node) ? trie_key(node) : "ROOT"); if (trie_child(node)) { if (trie_key(node)) len = strlen(trie_key(node)) + 2; printf("->"); recursive_print(trie_child(node), l + len); } if (trie_next(node)) printf("\n"); for (i = 0; i < l; i++) printf(" "); node = trie_next(node); } }
ASSERT_STR_EQUAL(trie_key(iter), key3); ASSERT_STR_EQUAL(trie_value(iter), key3); iter = trie_insert(trie, key4, key4); ASSERT_STR_EQUAL(trie_key(iter), key4); ASSERT_STR_EQUAL(trie_value(iter), key4); iter = trie_insert(trie, key2, key2); ASSERT_EQUAL(iter, NULL); iter = trie_lookup(trie, key2); ASSERT_STR_EQUAL(trie_key(iter), key2); ASSERT_STR_EQUAL(trie_value(iter), key2); iter = trie_insert(trie, key5, key5); ASSERT_STR_EQUAL(trie_key(iter), &key5[3]); ASSERT_STR_EQUAL(trie_value(iter), key5); iter = trie_lookup(trie, key2); ASSERT_STR_EQUAL(trie_key(iter), key2); ASSERT_STR_EQUAL(trie_value(iter), key2); iter = trie_lookup(trie, key5); ASSERT_STR_EQUAL(trie_key(iter), &key5[3]); ASSERT_STR_EQUAL(trie_value(iter), key5); iter = trie_insert(trie, key6, key6); ASSERT_STR_EQUAL(trie_key(iter), &key6[3]); ASSERT_STR_EQUAL(trie_value(iter), key6); iter = trie_insert(trie, key7, key7);