From ddd908706354fa9c4e2dbaa9f62b11078b06bf19 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Sat, 14 Feb 2015 19:43:47 +0100 Subject: Add second btree test (btw it works) --- src/tests/ktests/btree1/test.c | 1 - src/tests/ktests/btree2/Makefile | 1 + src/tests/ktests/btree2/test.c | 46 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 1 deletion(-) create mode 120000 src/tests/ktests/btree2/Makefile create mode 100644 src/tests/ktests/btree2/test.c (limited to 'src') diff --git a/src/tests/ktests/btree1/test.c b/src/tests/ktests/btree1/test.c index 1207a28..1d387f0 100644 --- a/src/tests/ktests/btree1/test.c +++ b/src/tests/ktests/btree1/test.c @@ -3,7 +3,6 @@ void test_btree_1() { BEGIN_TEST("test-btree-1"); - // hashtable test btree_t *ht = create_btree(str_key_cmp_fun, 0); ASSERT(ht != 0); diff --git a/src/tests/ktests/btree2/Makefile b/src/tests/ktests/btree2/Makefile new file mode 120000 index 0000000..4630a7c --- /dev/null +++ b/src/tests/ktests/btree2/Makefile @@ -0,0 +1 @@ +../rules.make \ No newline at end of file diff --git a/src/tests/ktests/btree2/test.c b/src/tests/ktests/btree2/test.c new file mode 100644 index 0000000..eb76dba --- /dev/null +++ b/src/tests/ktests/btree2/test.c @@ -0,0 +1,46 @@ +#include + +uint32_t prng() { + static uint32_t prng_s = 5091; + prng_s = ((prng_s + 24162) * 15322) % 100001; + return prng_s; +} + +void test_btree_2() { + BEGIN_TEST("test-btree-2"); + + btree_t *ht = create_btree(id_key_cmp_fun, 0); + ASSERT(ht != 0); + + const int n = 100; + uint32_t k[n], v[n]; + for (int i = 0; i < n; i++) { + k[i] = prng(); + v[i] = prng(); + dbg_printf("add %d -> %d\n", k[i], v[i]); + ASSERT(btree_add(ht, (void*)k[i], (void*)v[i])); + ASSERT(btree_find(ht, (void*)k[i]) == (void*)v[i]); + } + + for (int i = 0; i < n; i++) { + ASSERT(btree_find(ht, (void*)k[i]) == (void*)v[i]); + } + + for (int i = 0; i < n/2; i++) { + btree_remove(ht, (void*)k[i]); + ASSERT(btree_find(ht, (void*)k[i]) == 0); + } + + for (int i = 0; i < n; i++) { + ASSERT(btree_find(ht, (void*)k[i]) == (i < n/2 ? 0 : (void*)v[i])); + } + + delete_btree(ht); + + TEST_OK; +} + +#undef TEST_PLACEHOLDER_AFTER_TASKING +#define TEST_PLACEHOLDER_AFTER_TASKING { test_btree_2(); } + +/* vim: set ts=4 sw=4 tw=0 noet :*/ -- cgit v1.2.3