From 8f1a1df617eadfd4d49759d176234175a50a1f5a Mon Sep 17 00:00:00 2001 From: Patrick Pelissier Date: Mon, 3 Apr 2023 16:38:54 +0200 Subject: [PATCH] Improve coverage of test suite --- tests/test-mdict.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/tests/test-mdict.c b/tests/test-mdict.c index 4d30286c..e5ff9ef6 100644 --- a/tests/test-mdict.c +++ b/tests/test-mdict.c @@ -465,6 +465,40 @@ static void test_init_oa(void) b = dict_oa_int_erase (d1, 2*i); assert (b); } + for(int max = 1000; max < 10000; max+= 500) { + for(int del = max/2 ; del < max ; del += 100) { + for(int i = 1; i < max; i++) { + dict_oa_int_set_at(d1, 1000+i, -1); + assert (*dict_oa_int_get (d1, 1000+i) == -1); + dict_oa_int_set_at(d1, 1000+i, -2); + assert (*dict_oa_int_get (d1, 1000+i) == -2); + } + for(int i = 1; i < del; i++) { + assert (*dict_oa_int_get (d1, 1000+i) == -2); + assert (*dict_oa_int_safe_get (d1, 1000+i) == -2); + b = dict_oa_int_erase (d1, 1000+i); + assert (b); + } + for(int i = 1; i < max; i++) { + dict_oa_int_set_at(d1, 1000+i, -2); + assert (*dict_oa_int_get (d1, 1000+i) == -2); + } + for(int i = 1; i < max; i++) { + assert (*dict_oa_int_get (d1, 1000+i) == -2); + assert (*dict_oa_int_safe_get (d1, 1000+i) == -2); + b = dict_oa_int_erase (d1, 1000+i); + assert (b); + } + for(int i = 1; i < max; i++) { + *dict_oa_int_safe_get (d1, 1000+i) = -3; + } + for(int i = 1; i < max; i++) { + assert (*dict_oa_int_get (d1, 1000+i) == -3); + b = dict_oa_int_erase (d1, 1000+i); + assert (b); + } + } + } assert (dict_oa_int_size (d1) == 1); dict_oa_int_swap (d1, d2); assert (dict_oa_int_size (d1) == 100);