diff options
Diffstat (limited to 'tests/idhash.c')
| -rw-r--r-- | tests/idhash.c | 100 |
1 files changed, 37 insertions, 63 deletions
diff --git a/tests/idhash.c b/tests/idhash.c index 600b17ae..50a8d976 100644 --- a/tests/idhash.c +++ b/tests/idhash.c @@ -8,86 +8,69 @@ // #include "convey.h" -#include "core/nng_impl.h" #include "core/idhash.c" Main({ - nni_init(); - Test("General ID Hash", { int rv; Convey("Given an id hash", { - nni_idhash *h; + nni_idhash h; - rv = nni_idhash_create(&h); - So(rv == 0); - So(h->ih_cap == 8); - So(h->ih_entries != NULL); - So(h->ih_count == 0); + So(nni_idhash_init(&h) == 0); + So(nni_idhash_count(&h) == 0); Reset({ - nni_idhash_destroy(h); + nni_idhash_fini(&h); }) Convey("We can insert an element", { char *five = "five"; char *four = "four"; - rv = nni_idhash_insert(h, 5, five); + rv = nni_idhash_insert(&h, 5, five); + So(nni_idhash_count(&h) == 1); So(rv == 0); - So(h->ih_load == 1); - So(h->ih_count == 1); Convey("And we can find it", { void *ptr; - rv = nni_idhash_find(h, 5, &ptr); + rv = nni_idhash_find(&h, 5, &ptr); So(rv == 0); So(ptr == five); }) Convey("We can delete it", { void *ptr; - rv = nni_idhash_remove(h, 5); + rv = nni_idhash_remove(&h, 5); So(rv == 0); - rv = nni_idhash_find(h, 5, &ptr); + rv = nni_idhash_find(&h, 5, &ptr); So(rv == NNG_ENOENT); }) Convey("We can change the value", { void *ptr; - rv = nni_idhash_insert(h, 5, four); - So(rv == 0); - So(h->ih_count == 1); - rv = nni_idhash_find(h, 5, &ptr); - So(rv == 0); + So(nni_idhash_insert(&h, 5, four) == 0); + So(nni_idhash_count(&h) == 1); + So(nni_idhash_find(&h, 5, &ptr) == 0); So(ptr == four); }) Convey("We can insert a hash collision", { void *ptr; - rv = nni_idhash_insert(h, 13, four); - So(rv == 0); - So(h->ih_load == 2); - So(h->ih_count == 2); - rv = nni_idhash_find(h, 5, &ptr); - So(rv == 0); + So(nni_idhash_insert(&h, 13, four) == 0); + So(nni_idhash_count(&h) == 2); + So(nni_idhash_find(&h, 5, &ptr) == 0); So(ptr == five); - rv = nni_idhash_find(h, 13, &ptr); - So(rv == 0); + So(nni_idhash_find(&h, 13, &ptr) == 0); So(ptr == four); - So(h->ih_entries[5].ihe_skips == 1); Convey("And delete the intermediate", { - rv = nni_idhash_remove(h, 5); - So(rv == 0); + So(nni_idhash_remove(&h, 5) == 0); ptr = NULL; - rv = nni_idhash_find(h, 13, &ptr); - So(rv == 0); + So(nni_idhash_find(&h, 13, &ptr) == 0); So(ptr == four); - So(h->ih_load == 2); }) }) }) Convey("We cannot find bogus values", { void *ptr = NULL; - rv = nni_idhash_find(h, 42, &ptr); + rv = nni_idhash_find(&h, 42, &ptr); So(rv == NNG_ENOENT); So(ptr == NULL); }) @@ -103,34 +86,27 @@ Main({ expect[i] = i; } Convey("Given an id hash", { - nni_idhash *h; + nni_idhash h; - rv = nni_idhash_create(&h); - So(rv == 0); - So(h->ih_cap == 8); - So(h->ih_entries != NULL); - So(h->ih_count == 0); + So(nni_idhash_init(&h) == 0); + So(nni_idhash_count(&h) == 0); Reset({ - nni_idhash_destroy(h); + nni_idhash_fini(&h); }) Convey("We can insert 1024 items", { uint32_t count; for (i = 0; i < 1024; i++) { - nni_idhash_insert(h, i, &expect[i]); + nni_idhash_insert(&h, i, &expect[i]); } - So(nni_idhash_count(h, &count) == 0); - So(count == 1024); - So(h->ih_cap = 2048); - So(h->ih_count == 1024); + So(nni_idhash_count(&h) == 1024); Convey("We can remove them", { for (i = 0; i < 1024; i++) { - nni_idhash_remove(h, i); + nni_idhash_remove(&h, i); } - So(h->ih_count == 0); - So(h->ih_cap == 8); + So(nni_idhash_count(&h) == 0); }) }) }) @@ -138,36 +114,34 @@ Main({ Test("Dynamic ID generation", { Convey("Given a small ID hash", { - nni_idhash *h; + nni_idhash h; int expect[5]; uint32_t id; int i; - So(nni_idhash_create(&h) == 0); + So(nni_idhash_init(&h) == 0); Reset({ - nni_idhash_destroy(h); + nni_idhash_fini(&h); }) - nni_idhash_set_limits(h, 10, 13, 10); + nni_idhash_set_limits(&h, 10, 13, 10); So(1); Convey("We can fill the table", { for (i = 0; i < 4; i++) { - So(nni_idhash_alloc(h, &id, &expect[i]) == 0); + So(nni_idhash_alloc(&h, &id, &expect[i]) == 0); So(id == (i + 10)); } Convey("Adding another fails", { - So(nni_idhash_alloc(h, &id, &expect[5]) == NNG_ENOMEM); + So(nni_idhash_alloc(&h, &id, &expect[5]) == NNG_ENOMEM); }) Convey("Deleting one lets us reinsert", { - nni_idhash_remove(h, 11); - So(nni_idhash_alloc(h, &id, &expect[5]) == 0); + nni_idhash_remove(&h, 11); + So(nni_idhash_alloc(&h, &id, &expect[5]) == 0); So(id == 11); }) }) Convey("We cannot insert bogus values", { - So(nni_idhash_insert(h, 1, &expect[0]) == NNG_EINVAL); - So(nni_idhash_insert(h, 100, &expect[0]) == NNG_EINVAL); + So(nni_idhash_insert(&h, 1, &expect[0]) == NNG_EINVAL); + So(nni_idhash_insert(&h, 100, &expect[0]) == NNG_EINVAL); }) }) }) - - nni_fini(); }) |
