summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/check_ht.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/test/check_ht.c b/src/test/check_ht.c
new file mode 100644
index 0000000..2419ce5
--- /dev/null
+++ b/src/test/check_ht.c
@@ -0,0 +1,43 @@
+#include <stdio.h>
+#include "../ht.h"
+
+int main(int UNUSED argc, char ** UNUSED argv)
+{
+ ht *htp = new_ht(HT_INIT_CAP);
+
+ NUM *temp = MYALLOC(NUM, 1), key = 1023;
+ *temp = 12345;
+
+ if (ht_insert(htp, key, temp)) {
+ fleprintf0("Fail to insert\n");
+ free(temp);
+ destroy_ht(htp, 1);
+ return 1;
+ }
+
+ if ((temp = ht_find(htp, key))) {
+ fleprintf("We found value %ld for key %ld\n",
+ *temp, key);
+ } else
+ fleprintf("We found no value for key %ld\n", key);
+
+ if (ht_delete(htp, key, 1)) {
+ fleprintf("Fail to delete key %ld\n", key);
+ destroy_ht(htp, 1);
+ return 1;
+ }
+
+ fleprintf0("After the deletion, ");
+
+ if ((temp = ht_find(htp, key))) {
+ eprintf("We found value %ld for key %ld\n",
+ *temp, key);
+ destroy_ht(htp, 1);
+ return 1;
+ } else {
+ eprintf("We found no value for key %ld\n", key);
+ }
+
+ destroy_ht(htp, 1);
+ return 0;
+}