20#include <xrpl/basics/Expected.h>
21#include <xrpl/beast/unit_test.h>
22#include <xrpl/protocol/TER.h>
23#if BOOST_VERSION >= 107500
24#include <boost/json.hpp>
42 BEAST_EXPECT(expected);
43 BEAST_EXPECT(expected.has_value());
44 BEAST_EXPECT(expected.value() ==
"Valid value");
45 BEAST_EXPECT(*expected ==
"Valid value");
46 BEAST_EXPECT(expected->at(0) ==
'V');
48 bool throwOccurred =
false;
52 [[maybe_unused]]
TER const t = expected.error();
59 BEAST_EXPECT(throwOccurred);
66 BEAST_EXPECT(expected);
67 BEAST_EXPECT(expected.has_value());
68 BEAST_EXPECT(expected.value() ==
"Valid value");
69 BEAST_EXPECT(*expected ==
"Valid value");
70 BEAST_EXPECT(expected->at(0) ==
'V');
72 BEAST_EXPECT(mv ==
"Valid value");
74 bool throwOccurred =
false;
78 [[maybe_unused]]
TER const t = expected.error();
85 BEAST_EXPECT(throwOccurred);
92 BEAST_EXPECT(expected);
93 BEAST_EXPECT(expected.has_value());
94 BEAST_EXPECT(expected.value() == 1);
95 BEAST_EXPECT(*expected == 1);
97 bool throwOccurred =
false;
106 throwOccurred =
true;
108 BEAST_EXPECT(throwOccurred);
115 BEAST_EXPECT(!expected);
116 BEAST_EXPECT(!expected.has_value());
119 bool throwOccurred =
false;
128 throwOccurred =
true;
130 BEAST_EXPECT(throwOccurred);
138 BEAST_EXPECT(!expected);
139 BEAST_EXPECT(!expected.has_value());
142 bool throwOccurred =
false;
146 [[maybe_unused]]
std::size_t const s = expected->size();
151 throwOccurred =
true;
153 BEAST_EXPECT(throwOccurred);
160 BEAST_EXPECT(!expected);
161 BEAST_EXPECT(!expected.has_value());
163 expected.error() ==
std::string(
"Not what is expected!"));
170 BEAST_EXPECT(!expected);
171 BEAST_EXPECT(!expected.has_value());
172 BEAST_EXPECT(expected.error() ==
"Not what is expected!");
174 BEAST_EXPECT(s ==
"Not what is expected!");
181 BEAST_EXPECT(expected);
182 bool throwOccurred =
false;
186 [[maybe_unused]]
std::size_t const s = expected.error().size();
191 throwOccurred =
true;
193 BEAST_EXPECT(throwOccurred);
200 BEAST_EXPECT(expected);
201 bool throwOccurred =
false;
205 [[maybe_unused]]
std::size_t const s = expected.error().size();
210 throwOccurred =
true;
212 BEAST_EXPECT(throwOccurred);
219 BEAST_EXPECT(!expected);
220 BEAST_EXPECT(expected.error() ==
"Not what is expected!");
227 BEAST_EXPECT(!expected);
228 BEAST_EXPECT(expected.error() ==
"Not what is expected!");
230 BEAST_EXPECT(s ==
"Not what is expected!");
233#if BOOST_VERSION >= 107500
236 return boost::json::object{{
"oops",
"me array now"}};
238 BEAST_EXPECT(expected);
239 BEAST_EXPECT(!expected.value().is_array());
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
void run() override
Runs the suite.