From 1e043993ac32c73bef8b621edc4c24149bec9f40 Mon Sep 17 00:00:00 2001 From: Braden Ganetsky Date: Wed, 25 Sep 2024 21:22:30 -0500 Subject: [PATCH] Update cfoa 'insert()' tests to check the return value of the iterator-pair and initializer-list overloads --- test/cfoa/insert_tests.cpp | 143 ++++++++++++++++++++----------------- 1 file changed, 78 insertions(+), 65 deletions(-) diff --git a/test/cfoa/insert_tests.cpp b/test/cfoa/insert_tests.cpp index 50bf5ebb..cc451a2d 100644 --- a/test/cfoa/insert_tests.cpp +++ b/test/cfoa/insert_tests.cpp @@ -149,7 +149,7 @@ namespace { } thread_runner(values2, [&x](boost::span s) { - x.insert(s.begin(), s.end()); + BOOST_TEST_EQ(x.insert(s.begin(), s.end()), s.size()); }); BOOST_TEST_EQ( @@ -768,11 +768,12 @@ namespace { std::atomic num_invokes{0}; thread_runner( values2, [&x, &num_invokes](boost::span s) { - x.insert_or_cvisit(s.begin(), s.end(), - [&num_invokes](typename X::value_type const& v) { - (void)v; - ++num_invokes; - }); + BOOST_TEST_EQ(x.insert_or_cvisit(s.begin(), s.end(), + [&num_invokes](typename X::value_type const& v) { + (void)v; + ++num_invokes; + }), + s.size()); }); BOOST_TEST_EQ(num_invokes, values.size() - x.size()); @@ -813,17 +814,19 @@ namespace { std::atomic num_inserts{0}; std::atomic num_invokes{0}; - thread_runner( - values2, [&x, &num_inserts, &num_invokes](boost::span s) { - x.insert_and_cvisit(s.begin(), s.end(), - [&num_inserts](arg_type& v) { - (void)v; - ++num_inserts; - }, - [&num_invokes](typename X::value_type const& v) { - (void)v; - ++num_invokes; - }); + thread_runner(values2, + [&x, &num_inserts, &num_invokes](boost::span s) { + BOOST_TEST_EQ(x.insert_and_cvisit( + s.begin(), s.end(), + [&num_inserts](arg_type& v) { + (void)v; + ++num_inserts; + }, + [&num_invokes](typename X::value_type const& v) { + (void)v; + ++num_invokes; + }), + s.size()); }); BOOST_TEST_EQ(num_inserts, x.size()); @@ -866,11 +869,12 @@ namespace { std::atomic num_invokes{0}; thread_runner( values2, [&x, &num_invokes](boost::span s) { - x.insert_or_visit(s.begin(), s.end(), - [&num_invokes](arg_type& v) { - (void)v; - ++num_invokes; - }); + BOOST_TEST_EQ(x.insert_or_visit(s.begin(), s.end(), + [&num_invokes](arg_type& v) { + (void)v; + ++num_invokes; + }), + s.size()); }); BOOST_TEST_EQ(num_invokes, values.size() - x.size()); @@ -911,17 +915,19 @@ namespace { std::atomic num_inserts{0}; std::atomic num_invokes{0}; - thread_runner( - values2, [&x, &num_inserts, &num_invokes](boost::span s) { - x.insert_and_visit(s.begin(), s.end(), - [&num_inserts](arg_type& v) { - (void)v; - ++num_inserts; - }, - [&num_invokes](typename X::value_type const& v) { - (void)v; - ++num_invokes; - }); + thread_runner(values2, + [&x, &num_inserts, &num_invokes](boost::span s) { + BOOST_TEST_EQ(x.insert_and_visit( + s.begin(), s.end(), + [&num_inserts](arg_type& v) { + (void)v; + ++num_inserts; + }, + [&num_invokes](typename X::value_type const& v) { + (void)v; + ++num_invokes; + }), + s.size()); }); BOOST_TEST_EQ(num_inserts, x.size()); @@ -996,8 +1002,9 @@ namespace { { X x; - thread_runner( - dummy, [&x, &init_list](boost::span) { x.insert(init_list); }); + thread_runner(dummy, [&x, &init_list](boost::span) { + BOOST_TEST_EQ(x.insert(init_list), init_list.size()); + }); BOOST_TEST_EQ(x.size(), reference_cont.size()); @@ -1027,16 +1034,19 @@ namespace { X x; thread_runner(dummy, [&x, &init_list, &num_invokes](boost::span) { - x.insert_or_visit(init_list, [&num_invokes](arg_type& v) { - (void)v; - ++num_invokes; - }); + BOOST_TEST_EQ(x.insert_or_visit(init_list, + [&num_invokes](arg_type& v) { + (void)v; + ++num_invokes; + }), + init_list.size()); - x.insert_or_cvisit( - init_list, [&num_invokes](typename X::value_type const& v) { - (void)v; - ++num_invokes; - }); + BOOST_TEST_EQ(x.insert_or_cvisit(init_list, + [&num_invokes](typename X::value_type const& v) { + (void)v; + ++num_invokes; + }), + init_list.size()); }); BOOST_TEST_EQ(num_invokes, (init_list.size() - x.size()) + @@ -1070,29 +1080,32 @@ namespace { X x; - thread_runner(dummy, + thread_runner(dummy, [&x, &init_list, &num_inserts, &num_invokes](boost::span) { - x.insert_and_visit(init_list, - [&num_inserts](arg_type& v) { - (void)v; - ++num_inserts; - }, - [&num_invokes](arg_type& v) { - (void)v; - ++num_invokes; - }); + BOOST_TEST_EQ(x.insert_and_visit( + init_list, + [&num_inserts](arg_type& v) { + (void)v; + ++num_inserts; + }, + [&num_invokes](arg_type& v) { + (void)v; + ++num_invokes; + }), + init_list.size()); - x.insert_and_cvisit( - init_list, - [&num_inserts](arg_type& v) { - (void)v; - ++num_inserts; - }, - [&num_invokes](typename X::value_type const& v) { - (void)v; - ++num_invokes; - }); - }); + BOOST_TEST_EQ(x.insert_and_cvisit( + init_list, + [&num_inserts](arg_type& v) { + (void)v; + ++num_inserts; + }, + [&num_invokes](typename X::value_type const& v) { + (void)v; + ++num_invokes; + }), + init_list.size()); + }); BOOST_TEST_EQ(num_inserts, x.size()); BOOST_TEST_EQ(num_invokes, (init_list.size() - x.size()) +