Add basic it test for B+tree

This commit is contained in:
Patrick Pelissier committed 2018-04-08 07:24:56 +02:00
1 parent 67af80c772
commit 47fb467878
1 file changed
+31
+31
View File
@@ -229,11 +229,42 @@ static void test4(void)
btree_clear(b2);
}
static void test5(void)
{
btree_t b;
btree_init(b);
for(int i = 0; i < 1000; i+=3)
btree_set_at(b, i, 1000*i);
for(int i = 1; i < 1000; i+=3)
btree_set_at(b, i, 1000*i);
for(int i = 2; i < 1000; i+=3)
btree_set_at(b, i, 1000*i);
assert(btree_size(b) == 1000);
btree_it_t it, it2;
int i = 0;
for(btree_it(it, b), btree_it_set(it2, it); !btree_end_p(it); btree_next(it)) {
const btree_type_t *item = btree_cref(it);
assert (*item->key_ptr == i);
assert (*item->value_ptr == 1000*i);
i++;
}
assert (i == 1000);
assert (!btree_it_equal_p(it, it2));
btree_it_end(it2, b);
assert (btree_it_equal_p(it, it2));
btree_clear(b);
}
int main(void)
{
test1();
test2();
test3();
test4();
test5();
exit(0);
}