]> begriffs open source - libderp/blob - test/t_hashmap.c
WIP: pass auxiliary arg to comparator
[libderp] / test / t_hashmap.c
1 #include "hashmap.h"
2 #include <assert.h>
3 #include <stdlib.h>
4 #include <stdio.h>
5 #include <string.h>
6
7 int ivals[] = {0,1,2,3,4,5,6,7,8,9};
8
9 uint_fast32_t djb2hash(const void *x)
10 {
11         const char *str = x;
12         uint_fast32_t hash = 5381;
13         int c;
14
15         if (str)
16                 while ( (c = *str++) )
17                         hash = hash * 33 + c;
18         return hash;
19 }
20
21 int scmp(const void *a, const void *b)
22 {
23         return strcmp(a, b);
24 }
25
26 int main(void)
27 {
28         hashmap *h = hm_new(0, djb2hash, scmp, NULL, NULL);
29         assert(hm_length(h) == 0);
30         assert(hm_is_empty(h));
31
32         hm_free(h);
33
34         return 0;
35 }