From 1a4eb29719067a7c73b19709f07fcecb833427e2 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Fri, 17 Sep 2021 19:35:05 +0300 Subject: [PATCH] Update test/result_error_access --- test/result_error_access.cpp | 56 ++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/test/result_error_access.cpp b/test/result_error_access.cpp index 9d08056..66bbbe3 100644 --- a/test/result_error_access.cpp +++ b/test/result_error_access.cpp @@ -152,5 +152,61 @@ int main() BOOST_TEST_EQ( (result( "s" ).error().v_), 0 ); } + { + result r; + + BOOST_TEST( r.has_value() ); + BOOST_TEST( !r.has_error() ); + + BOOST_TEST_EQ( r.error(), error_code() ); + } + + { + result const r; + + BOOST_TEST( r.has_value() ); + BOOST_TEST( !r.has_error() ); + + BOOST_TEST_EQ( r.error(), error_code() ); + } + + { + BOOST_TEST( result().has_value() ); + BOOST_TEST( !result().has_error() ); + + BOOST_TEST_EQ( result().error(), error_code() ); + } + + { + auto ec = make_error_code( errc::invalid_argument ); + + result r( ec ); + + BOOST_TEST( !r.has_value() ); + BOOST_TEST( r.has_error() ); + + BOOST_TEST_EQ( r.error(), ec ); + } + + { + auto ec = make_error_code( errc::invalid_argument ); + + result const r( ec ); + + BOOST_TEST( !r.has_value() ); + BOOST_TEST( r.has_error() ); + + BOOST_TEST_EQ( r.error(), ec ); + } + + { + auto ec = make_error_code( errc::invalid_argument ); + + BOOST_TEST( !result( ec ).has_value() ); + BOOST_TEST( result( ec ).has_error() ); + + BOOST_TEST_EQ( result( ec ).error(), ec ); + } + return boost::report_errors(); }