From 093a516b243e5428af1b7258f4097813fe2e7094 Mon Sep 17 00:00:00 2001 From: Ruben Perez Date: Wed, 5 Oct 2022 18:24:39 +0200 Subject: [PATCH] execute_params --- test/CMakeLists.txt | 2 +- test/common/assert_type_equals.hpp | 32 -------------- test/unit/execute_params.cpp | 70 ++++++++---------------------- 3 files changed, 18 insertions(+), 86 deletions(-) delete mode 100644 test/common/assert_type_equals.hpp diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 2a74ecc1..cb7983d3 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -55,7 +55,7 @@ add_executable( unit/rows.cpp unit/metadata.cpp unit/error.cpp - # unit/execute_params.cpp + unit/execute_params.cpp # unit/prepared_statement.cpp # unit/resultset.cpp # unit/connection.cpp diff --git a/test/common/assert_type_equals.hpp b/test/common/assert_type_equals.hpp deleted file mode 100644 index cab908ad..00000000 --- a/test/common/assert_type_equals.hpp +++ /dev/null @@ -1,32 +0,0 @@ -// -// Copyright (c) 2019-2022 Ruben Perez Hidalgo (rubenperez038 at gmail dot com) -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef BOOST_MYSQL_TEST_COMMON_ASSERT_TYPE_EQUALS_HPP -#define BOOST_MYSQL_TEST_COMMON_ASSERT_TYPE_EQUALS_HPP - -#include -#include -#include - -namespace boost { -namespace mysql { -namespace test { - -template -void assert_type_equals() -{ - BOOST_TEST( - (std::is_same::value), - "Types are different: expected " + boost::typeindex::type_id().pretty_name() + ", got " + - boost::typeindex::type_id().pretty_name()); -} - -} -} -} - -#endif \ No newline at end of file diff --git a/test/unit/execute_params.cpp b/test/unit/execute_params.cpp index fc60ff1d..75ac4ee5 100644 --- a/test/unit/execute_params.cpp +++ b/test/unit/execute_params.cpp @@ -7,84 +7,45 @@ #include #include -#include "test_common.hpp" -#include "assert_type_equals.hpp" +#include #include #include #include using boost::mysql::make_execute_params; using boost::mysql::field_view; -using boost::mysql::test::assert_type_equals; - -// Make execute_args printable by Boost.Test -namespace boost { -namespace mysql { - -template -std::ostream& boost_test_print_type(std::ostream& os, const execute_params& v) -{ - return os - << "execute_params<" - << boost::typeindex::type_id().pretty_name() - << ">(" - << v.first() - << ", " - << v.last() - << ")"; -} - -} // mysql -} // boost +using boost::mysql::field; // Make Boost.Test ignore list iterators when printing BOOST_TEST_DONT_PRINT_LOG_VALUE(std::forward_list::iterator) BOOST_TEST_DONT_PRINT_LOG_VALUE(std::forward_list::const_iterator) +BOOST_TEST_DONT_PRINT_LOG_VALUE(std::forward_list::iterator) +BOOST_TEST_DONT_PRINT_LOG_VALUE(std::forward_list::const_iterator) BOOST_AUTO_TEST_SUITE(test_execute_params) -// setters -BOOST_AUTO_TEST_SUITE(test_setters) - -BOOST_AUTO_TEST_CASE(set_first) -{ - field_view arr [10]; - auto params = make_execute_params(arr); - params.set_first(&arr[1]); - BOOST_TEST(params.first() == &arr[1]); - BOOST_TEST(params.last() == std::end(arr)); -} - -BOOST_AUTO_TEST_CASE(set_last) -{ - field_view arr [10]; - auto params = make_execute_params(arr); - params.set_last(&arr[1]); - BOOST_TEST(params.first() == std::begin(arr)); - BOOST_TEST(params.last() == &arr[1]); -} - -BOOST_AUTO_TEST_SUITE_END() - // collection BOOST_AUTO_TEST_SUITE(test_make_execute_params_collection) -BOOST_AUTO_TEST_CASE(c_array) +BOOST_AUTO_TEST_CASE(c_array_field_view) { field_view arr [10]; auto params = make_execute_params(arr); BOOST_TEST(params.first() == std::begin(arr)); BOOST_TEST(params.last() == std::end(arr)); - assert_type_equals(); + static_assert(std::is_same::value, ""); } -BOOST_AUTO_TEST_CASE(forward_list) +BOOST_AUTO_TEST_CASE(forward_list_field) { - std::forward_list l { field_view("a"), field_view("b") }; + std::forward_list l { field_view("a"), field_view("b") }; auto params = make_execute_params(l); BOOST_TEST(params.first() == std::begin(l)); BOOST_TEST(params.last() == std::end(l)); - assert_type_equals::const_iterator>(); + static_assert(std::is_same< + decltype(params.first()), + std::forward_list::const_iterator + >::value, ""); } BOOST_AUTO_TEST_SUITE_END() @@ -98,7 +59,7 @@ BOOST_AUTO_TEST_CASE(c_array) auto params = make_execute_params(&arr[0], &arr[2]); BOOST_TEST(params.first() == &arr[0]); BOOST_TEST(params.last() == &arr[2]); - assert_type_equals(); + static_assert(std::is_same::value, ""); } BOOST_AUTO_TEST_CASE(forward_list) @@ -107,7 +68,10 @@ BOOST_AUTO_TEST_CASE(forward_list) auto params = make_execute_params(l.begin(), std::next(l.begin())); BOOST_TEST(params.first() == l.begin()); BOOST_TEST(params.last() == std::next(l.begin())); - assert_type_equals::iterator>(); + static_assert(std::is_same< + decltype(params.first()), + std::forward_list::iterator + >::value, ""); } BOOST_AUTO_TEST_SUITE_END()