Add test cases for emplace generation

for dict & B+tree
This commit is contained in:
Patrick Pelissier committed 2022-10-03 22:40:44 +02:00
1 parent d6b9b054c2
commit bc73616bde
2 files changed
+97

No files matched your search

+51
View File
@@ -34,6 +34,7 @@ END_COVERAGE
BPTREE_DEF2(btree_my, 3, testobj_t, TESTOBJ_CMP_OPLIST, testobj_t, TESTOBJ_CMP_OPLIST)
BPTREE_DEF2(btree_string, 5, string_t, STRING_OPLIST, string_t, STRING_OPLIST)
BPTREE_DEF2(btree_int, 17, int, int)
BPTREE_DEF2(btree_mpz, 9, string_t, STRING_OPLIST, testobj_t, TESTOBJ_CMP_OPLIST)
BPTREE_DEF(btree_intset, 13, int)
BPTREE_DEF(btree_myset, 15, testobj_t, TESTOBJ_CMP_OPLIST)
@@ -641,6 +642,55 @@ static void test_double(void)
}
}
static void test_emplace (void)
{
btree_mpz_t d;
btree_mpz_init(d);
string_t s;
string_init(s);
testobj_t o;
testobj_init(o);
btree_mpz_emplace_key_val_str(d, "HELLO", "14");
string_set_str(s, "HELLO");
testobj_t *ptr = btree_mpz_get(d, s);
assert(ptr != NULL);
assert(testobj_cmp_ui(*ptr, 14) == 0);
btree_mpz_emplace_key_val_ui(d, "HE", 145);
string_set_str(s, "HE");
ptr = btree_mpz_get(d, s);
assert(ptr != NULL);
assert(testobj_cmp_ui(*ptr, 145) == 0);
testobj_set(o, *ptr);
btree_mpz_emplace_key_val(d, "SHE", o);
string_set_str(s, "SHE");
ptr = btree_mpz_get(d, s);
assert(ptr != NULL);
assert(testobj_cmp_ui(*ptr, 145) == 0);
btree_mpz_emplace_key(d, "IT", o);
string_set_str(s, "IT");
ptr = btree_mpz_get(d, s);
assert(ptr != NULL);
assert(testobj_cmp_ui(*ptr, 145) == 0);
btree_mpz_emplace_val_ui(d, s, 19);
ptr = btree_mpz_get(d, s);
assert(ptr != NULL);
assert(testobj_cmp_ui(*ptr, 19) == 0);
btree_mpz_emplace_val_str(d, s, "190");
ptr = btree_mpz_get(d, s);
assert(ptr != NULL);
assert(testobj_cmp_ui(*ptr, 190) == 0);
testobj_clear(o);
string_clear(s);
btree_mpz_clear(d);
}
int main(void)
{
test1();
@@ -654,5 +704,6 @@ int main(void)
test_multimap();
test_multiset();
test_double();
test_emplace();
exit(0);
}
+46
View File
@@ -533,12 +533,58 @@ test_oa_str2(void)
dict_oa_bstr_clear(dict);
}
static void test_emplace (void)
{
dict_mpz_t d;
dict_mpz_init(d);
string_t s;
string_init(s);
dict_mpz_emplace_key_val_str(d, "HELLO", "14");
string_set_str(s, "HELLO");
testobj_t *ptr = dict_mpz_get(d, s);
assert(ptr != NULL);
assert(testobj_cmp_ui(*ptr, 14) == 0);
dict_mpz_emplace_key_val_ui(d, "HE", 145);
string_set_str(s, "HE");
ptr = dict_mpz_get(d, s);
assert(ptr != NULL);
assert(testobj_cmp_ui(*ptr, 145) == 0);
dict_mpz_emplace_key_val(d, "SHE", *ptr);
string_set_str(s, "SHE");
ptr = dict_mpz_get(d, s);
assert(ptr != NULL);
assert(testobj_cmp_ui(*ptr, 145) == 0);
dict_mpz_emplace_key(d, "IT", *ptr);
string_set_str(s, "IT");
ptr = dict_mpz_get(d, s);
assert(ptr != NULL);
assert(testobj_cmp_ui(*ptr, 145) == 0);
dict_mpz_emplace_val_ui(d, s, 19);
ptr = dict_mpz_get(d, s);
assert(ptr != NULL);
assert(testobj_cmp_ui(*ptr, 19) == 0);
dict_mpz_emplace_val_str(d, s, "190");
ptr = dict_mpz_get(d, s);
assert(ptr != NULL);
assert(testobj_cmp_ui(*ptr, 190) == 0);
string_clear(s);
dict_mpz_clear(d);
}
int main(void)
{
test1();
test_set();
test_init();
test_equal();
test_emplace();
test_oa();
test_init_oa();
test_it_oa();