mirror of
https://github.com/boostorg/system.git
synced 2025-07-29 20:17:13 +02:00
Update test/result_move_assign
This commit is contained in:
@ -100,6 +100,17 @@ int main()
|
||||
BOOST_TEST_EQ( r2.value(), 0 );
|
||||
}
|
||||
|
||||
{
|
||||
result<int> r2;
|
||||
|
||||
r2 = result<int>();
|
||||
|
||||
BOOST_TEST( r2.has_value() );
|
||||
BOOST_TEST( !r2.has_error() );
|
||||
|
||||
BOOST_TEST_EQ( r2.value(), 0 );
|
||||
}
|
||||
|
||||
{
|
||||
result<int> r;
|
||||
result<int> r2( 1 );
|
||||
@ -112,6 +123,17 @@ int main()
|
||||
BOOST_TEST_EQ( r2.value(), 0 );
|
||||
}
|
||||
|
||||
{
|
||||
result<int> r2( 1 );
|
||||
|
||||
r2 = result<int>();
|
||||
|
||||
BOOST_TEST( r2.has_value() );
|
||||
BOOST_TEST( !r2.has_error() );
|
||||
|
||||
BOOST_TEST_EQ( r2.value(), 0 );
|
||||
}
|
||||
|
||||
{
|
||||
result<int> r;
|
||||
result<int> r2( ENOENT, generic_category() );
|
||||
@ -124,6 +146,17 @@ int main()
|
||||
BOOST_TEST_EQ( r2.value(), 0 );
|
||||
}
|
||||
|
||||
{
|
||||
result<int> r2( ENOENT, generic_category() );
|
||||
|
||||
r2 = result<int>();
|
||||
|
||||
BOOST_TEST( r2.has_value() );
|
||||
BOOST_TEST( !r2.has_error() );
|
||||
|
||||
BOOST_TEST_EQ( r2.value(), 0 );
|
||||
}
|
||||
|
||||
BOOST_TEST_EQ( X::instances, 0 );
|
||||
|
||||
{
|
||||
@ -302,6 +335,19 @@ int main()
|
||||
BOOST_TEST_EQ( r2.error(), ec );
|
||||
}
|
||||
|
||||
{
|
||||
auto ec = make_error_code( errc::invalid_argument );
|
||||
|
||||
result<int> r2;
|
||||
|
||||
r2 = result<int>( ec );
|
||||
|
||||
BOOST_TEST( !r2.has_value() );
|
||||
BOOST_TEST( r2.has_error() );
|
||||
|
||||
BOOST_TEST_EQ( r2.error(), ec );
|
||||
}
|
||||
|
||||
{
|
||||
auto ec = make_error_code( errc::invalid_argument );
|
||||
|
||||
@ -316,6 +362,19 @@ int main()
|
||||
BOOST_TEST_EQ( r2.error(), ec );
|
||||
}
|
||||
|
||||
{
|
||||
auto ec = make_error_code( errc::invalid_argument );
|
||||
|
||||
result<int> r2( 1 );
|
||||
|
||||
r2 = result<int>( ec );
|
||||
|
||||
BOOST_TEST( !r2.has_value() );
|
||||
BOOST_TEST( r2.has_error() );
|
||||
|
||||
BOOST_TEST_EQ( r2.error(), ec );
|
||||
}
|
||||
|
||||
{
|
||||
auto ec = make_error_code( errc::invalid_argument );
|
||||
|
||||
@ -330,6 +389,19 @@ int main()
|
||||
BOOST_TEST_EQ( r2.error(), ec );
|
||||
}
|
||||
|
||||
{
|
||||
auto ec = make_error_code( errc::invalid_argument );
|
||||
|
||||
result<int> r2( ENOENT, generic_category() );
|
||||
|
||||
r2 = result<int>( ec );
|
||||
|
||||
BOOST_TEST( !r2.has_value() );
|
||||
BOOST_TEST( r2.has_error() );
|
||||
|
||||
BOOST_TEST_EQ( r2.error(), ec );
|
||||
}
|
||||
|
||||
BOOST_TEST_EQ( X::instances, 0 );
|
||||
|
||||
{
|
||||
@ -436,5 +508,97 @@ int main()
|
||||
|
||||
BOOST_TEST_EQ( Y::instances, 0 );
|
||||
|
||||
{
|
||||
result<void> r;
|
||||
result<void> r2;
|
||||
|
||||
r2 = std::move( r );
|
||||
|
||||
BOOST_TEST( r2.has_value() );
|
||||
BOOST_TEST( !r2.has_error() );
|
||||
}
|
||||
|
||||
{
|
||||
result<void> r2;
|
||||
|
||||
r2 = result<void>();
|
||||
|
||||
BOOST_TEST( r2.has_value() );
|
||||
BOOST_TEST( !r2.has_error() );
|
||||
}
|
||||
|
||||
{
|
||||
result<void> r;
|
||||
result<void> r2( ENOENT, generic_category() );
|
||||
|
||||
r2 = std::move( r );
|
||||
|
||||
BOOST_TEST( r2.has_value() );
|
||||
BOOST_TEST( !r2.has_error() );
|
||||
}
|
||||
|
||||
{
|
||||
result<void> r2( ENOENT, generic_category() );
|
||||
|
||||
r2 = result<void>();
|
||||
|
||||
BOOST_TEST( r2.has_value() );
|
||||
BOOST_TEST( !r2.has_error() );
|
||||
}
|
||||
|
||||
{
|
||||
auto ec = make_error_code( errc::invalid_argument );
|
||||
|
||||
result<void> r( ec );
|
||||
result<void> r2;
|
||||
|
||||
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<void> r2;
|
||||
|
||||
r2 = result<void>( ec );
|
||||
|
||||
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<void> r( ec );
|
||||
result<void> r2( ENOENT, generic_category() );
|
||||
|
||||
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<void> r2( ENOENT, generic_category() );
|
||||
|
||||
r2 = result<void>( ec );
|
||||
|
||||
BOOST_TEST( !r2.has_value() );
|
||||
BOOST_TEST( r2.has_error() );
|
||||
|
||||
BOOST_TEST_EQ( r2.error(), ec );
|
||||
}
|
||||
|
||||
return boost::report_errors();
|
||||
}
|
||||
|
Reference in New Issue
Block a user