7 int ivals[] = {0,1,2,3,4,5,6,7,8,9};
9 int scmp(const void *a, const void *b, void *aux)
15 void myfree(void *a, void *aux)
23 treemap *t = tm_new(scmp, NULL);
24 assert(tm_length(t) == 0);
25 assert(tm_is_empty(t));
27 assert(!tm_at(t, "zero"));
28 tm_insert(t, "zero", ivals);
29 assert(tm_length(t) == 1);
30 assert(*(int*)tm_at(t, "zero") == 0);
33 tm_insert(t, "zero", ivals+1);
34 assert(tm_length(t) == 1);
35 assert(*(int*)tm_at(t, "zero") == 1);
37 tm_insert(t, "zero", ivals);
38 assert(*(int*)tm_at(t, "zero") == 0);
40 tm_insert(t, "one", ivals+1);
41 assert(tm_length(t) == 2);
42 assert(*(int*)tm_at(t, "zero") == 0);
43 assert(*(int*)tm_at(t, "one") == 1);
44 assert(!tm_at(t, "flurgle"));
47 assert(!tm_at(t, "one"));
50 assert(tm_length(t) == 0);
51 assert(!tm_at(t, "zero"));
53 /* test for memory leak */
54 tm_dtor(t, myfree, myfree, NULL);
55 char *key = malloc(5);
56 int *val1 = malloc(sizeof *val1),
57 *val2 = malloc(sizeof *val2);
61 tm_insert(t, key, val1);
62 tm_insert(t, key, val2);