printf("%u out of %u inserted words in table were in the table\n", good_guesses, numwords);
HashtableIter iter;
- void* key/* = malloc(sizeof(void*))*/;
- void* value/* = malloc(sizeof(void*))*/;
+ void* key;
+ void* value;
hash_table_iter_init(&iter, table);
while (hash_table_iter_next(&iter, &key, &value)) {
char* s1 = ((Node*) value)->name;
printf("Key: %p value: %s\n", key, s1);
}
- //free(key);
- //free(value);
+
+ Node* node1 = calloc(sizeof(Node*), 1);
+ node1->name = strdup("Dummy Test Name");
+ if (hash_table_insert(table, node1, node1) == true) {
+ hash_table_iter_init(&iter, table);
+ printf("Hashtable size: %lu. Key found: %d\n", hash_table_size(table), hash_table_contains(table, node1));
+ void* data = hash_table_delete(table, node1);
+ printf("Deleted: [%p] %s\n", node1, ((Node*) data)->name);
+ free(((Node*) data)->name);
+ free(data);
+ printf("Hashtable size: %lu. Key found: %d\n", hash_table_size(table), hash_table_contains(table, node1));
+ Node* node2 = calloc(sizeof(Node*), 1);
+ node2->name = strdup("Test Name");
+ hash_table_replace(table, node2, node2);
+ printf("Hashtable size: %lu. Key found: %d\n", hash_table_size(table), hash_table_contains(table, node2));
+ }
hash_table_destroy(table);
}