From ce49a7d1be5a217f651d6a3257ec868497bc4682 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Fri, 17 Sep 2021 19:35:20 +0300 Subject: [PATCH] Update test/result_move_construct --- test/result_move_construct.cpp | 38 ++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/test/result_move_construct.cpp b/test/result_move_construct.cpp index 191e76e..54e04cb 100644 --- a/test/result_move_construct.cpp +++ b/test/result_move_construct.cpp @@ -207,5 +207,43 @@ int main() BOOST_TEST_EQ( X::instances, 0 ); + { + result r; + result r2( std::move( r ) ); + + BOOST_TEST( r2.has_value() ); + BOOST_TEST( !r2.has_error() ); + } + + { + result r2( result{} ); + + BOOST_TEST( r2.has_value() ); + BOOST_TEST( !r2.has_error() ); + } + + { + auto ec = make_error_code( errc::invalid_argument ); + + result r( ec ); + result r2( std::move( r ) ); + + BOOST_TEST( !r2.has_value() ); + BOOST_TEST( r2.has_error() ); + + BOOST_TEST_EQ( r2.error(), ec ); + } + + { + auto ec = make_error_code( errc::invalid_argument ); + + result r2( result{ ec } ); + + BOOST_TEST( !r2.has_value() ); + BOOST_TEST( r2.has_error() ); + + BOOST_TEST_EQ( r2.error(), ec ); + } + return boost::report_errors(); }