Skip to content

Commit 61a0e24

Browse files
committed
Add some more test cases exercising result initialization from {}
1 parent eb78861 commit 61a0e24

File tree

2 files changed

+58
-0
lines changed

2 files changed

+58
-0
lines changed

test/result_default_construct.cpp

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,66 @@ int main()
2828
BOOST_TEST_EQ( r.value(), 0 );
2929
}
3030

31+
{
32+
result<int> r{};
33+
34+
BOOST_TEST( r.has_value() );
35+
BOOST_TEST( !r.has_error() );
36+
37+
BOOST_TEST_EQ( r.value(), 0 );
38+
}
39+
40+
{
41+
result<int> r = {};
42+
43+
BOOST_TEST( r.has_value() );
44+
BOOST_TEST( !r.has_error() );
45+
46+
BOOST_TEST_EQ( r.value(), 0 );
47+
}
48+
3149
{
3250
result<X> r;
3351

3452
BOOST_TEST( r.has_value() );
3553
BOOST_TEST( !r.has_error() );
3654
}
3755

56+
{
57+
result<X> r{};
58+
59+
BOOST_TEST( r.has_value() );
60+
BOOST_TEST( !r.has_error() );
61+
}
62+
63+
{
64+
result<X> r = {};
65+
66+
BOOST_TEST( r.has_value() );
67+
BOOST_TEST( !r.has_error() );
68+
}
69+
3870
{
3971
result<void> r;
4072

4173
BOOST_TEST( r.has_value() );
4274
BOOST_TEST( !r.has_error() );
4375
}
4476

77+
{
78+
result<void> r{};
79+
80+
BOOST_TEST( r.has_value() );
81+
BOOST_TEST( !r.has_error() );
82+
}
83+
84+
{
85+
result<void> r = {};
86+
87+
BOOST_TEST( r.has_value() );
88+
BOOST_TEST( !r.has_error() );
89+
}
90+
4591
{
4692
BOOST_TEST_TRAIT_TRUE((std::is_default_constructible<result<int>>));
4793
BOOST_TEST_TRAIT_TRUE((std::is_default_constructible<result<int, int>>));

test/result_value_construct2.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,11 @@ result<std::vector<int>> fv2()
6969
return {{ 1, 2 }};
7070
}
7171

72+
result<void> fw0()
73+
{
74+
return {};
75+
}
76+
7277
int main()
7378
{
7479
{
@@ -148,5 +153,12 @@ int main()
148153
BOOST_TEST_EQ( r->at(1), 2 );
149154
}
150155

156+
{
157+
result<void> r = fw0();
158+
159+
BOOST_TEST( r.has_value() );
160+
BOOST_TEST( !r.has_error() );
161+
}
162+
151163
return boost::report_errors();
152164
}

0 commit comments

Comments
 (0)