From c0abcc6d60a08dcbce9ad59802edd7d9e176a0e6 Mon Sep 17 00:00:00 2001 From: Patrick Pelissier Date: Fri, 22 Apr 2022 22:51:36 +0200 Subject: [PATCH] Add tests for new emplace functions --- tests/test-mdeque.c | 7 ++++++- tests/test-mlist.c | 29 +++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/tests/test-mdeque.c b/tests/test-mdeque.c index 8c2708c8..d240dc40 100644 --- a/tests/test-mdeque.c +++ b/tests/test-mdeque.c @@ -323,8 +323,13 @@ static void test_z(void) testobj_clear(z); deque_mpz_pop_front_move(&z, d); assert (testobj_cmp_ui (z, 4217) == 0); - } + deque_mpz_emplace_back_ui(d, 45); + assert(testobj_cmp_ui(*deque_mpz_back(d), 45) == 0); + deque_mpz_emplace_front_str(d, "450"); + assert(testobj_cmp_ui(*deque_mpz_front(d), 450) == 0); + assert(testobj_cmp_ui(*deque_mpz_back(d), 45) == 0); + } } static void test_io(void) diff --git a/tests/test-mlist.c b/tests/test-mlist.c index 59ee0b59..d62b7734 100644 --- a/tests/test-mlist.c +++ b/tests/test-mlist.c @@ -325,7 +325,36 @@ static void test_mpz(void) } list_mpz_clear(v); + + /* Test of the emplace functions. + * 3 functions have been generated for testobj: + * one from unsigned int (suffix _ui) + * one from C string (suffix _str) + * one from testobj_t itself (no suffix) + */ + list_mpz_reset(list2); + list_mpz_emplace_back_ui(list2, 42); + assert(testobj_cmp_ui(*list_mpz_back(list2), 42) == 0); + list_mpz_emplace_back_ui(list2, 426); + assert(testobj_cmp_ui(*list_mpz_back(list2), 426) == 0); + list_mpz_emplace_back_str(list2, "458"); + assert(testobj_cmp_ui(*list_mpz_back(list2), 458) == 0); + testobj_set_ui(z, 789); + list_mpz_emplace_back(list2, z); + assert(testobj_cmp_ui(*list_mpz_back(list2), 789) == 0); + list_mpz_clear(list2); + + list2_mpz_t listz; + list2_mpz_init(listz); + + list2_mpz_emplace_back_ui(listz, 45); + assert(testobj_cmp_ui(*list2_mpz_back(listz), 45) == 0); + list2_mpz_emplace_front_str(listz, "450"); + assert(testobj_cmp_ui(*list2_mpz_front(listz), 450) == 0); + assert(testobj_cmp_ui(*list2_mpz_back(listz), 45) == 0); + + list2_mpz_clear(listz); testobj_clear (z); testobj_clear (x);