MCPcopy Create free account
hub / github.com/boostorg/leaf / run_tests

Function run_tests

test/optional_test.cpp:85–383  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

83#endif
84
85void run_tests()
86{
87 using leaf::detail::optional;
88 {
89 optional<my_info> x;
90 BOOST_TEST(x.empty());
91 }
92 BOOST_TEST(!object_count);
93 BOOST_TEST(!value_count);
94 {
95 my_info a(42);
96 BOOST_TEST_EQ(object_count, 1);
97 BOOST_TEST_EQ(value_count, 1);
98 optional<my_info> x(10, a);
99 BOOST_TEST_EQ(object_count, 2);
100 BOOST_TEST_EQ(value_count, 2);
101 BOOST_TEST(!x.empty());
102 BOOST_TEST(x.has_value(10));
103 BOOST_TEST(!x.has_value(11));
104 BOOST_TEST_EQ(x.value(10).value, 42);
105 }
106 BOOST_TEST(!object_count);
107 BOOST_TEST(!value_count);
108#ifndef BOOST_LEAF_NO_EXCEPTIONS
109 {
110 throws_on_copy a;
111 BOOST_TEST_EQ(object_count, 1);
112 try
113 {
114 optional<throws_on_copy> x(10, a);
115 BOOST_TEST(false);
116 }
117 catch( std::exception & )
118 {
119 }
120 }
121#endif
122 BOOST_TEST(!object_count);
123 BOOST_TEST(!value_count);
124 {
125 my_info a(42);
126 BOOST_TEST_EQ(object_count, 1);
127 BOOST_TEST_EQ(value_count, 1);
128 optional<my_info> x(10, std::move(a));
129 BOOST_TEST_EQ(object_count, 2);
130 BOOST_TEST_EQ(value_count, 1);
131 BOOST_TEST(!x.empty());
132 BOOST_TEST(x.has_value(10));
133 BOOST_TEST(!x.has_value(11));
134 BOOST_TEST_EQ(x.value(10).value, 42);
135 }
136 BOOST_TEST(!object_count);
137 BOOST_TEST(!value_count);
138 {
139 optional<my_info> x(10, my_info(42));
140 BOOST_TEST_EQ(object_count, 1);
141 BOOST_TEST_EQ(value_count, 1);
142 BOOST_TEST(!x.empty());

Callers 1

mainFunction · 0.85

Calls 4

throws_on_copyClass · 0.85
loadMethod · 0.80
my_infoClass · 0.70
valueMethod · 0.45

Tested by

no test coverage detected