20#include <xrpl/basics/Expected.h>
21#include <xrpl/beast/unit_test.h>
22#include <xrpl/protocol/TER.h>
24#if BOOST_VERSION >= 107500
25#include <boost/json.hpp>
44 BEAST_EXPECT(expected);
45 BEAST_EXPECT(expected.has_value());
46 BEAST_EXPECT(expected.value() ==
"Valid value");
47 BEAST_EXPECT(*expected ==
"Valid value");
48 BEAST_EXPECT(expected->at(0) ==
'V');
50 bool throwOccurred =
false;
54 [[maybe_unused]]
TER const t = expected.error();
61 BEAST_EXPECT(throwOccurred);
68 BEAST_EXPECT(expected);
69 BEAST_EXPECT(expected.has_value());
70 BEAST_EXPECT(expected.value() ==
"Valid value");
71 BEAST_EXPECT(*expected ==
"Valid value");
72 BEAST_EXPECT(expected->at(0) ==
'V');
74 BEAST_EXPECT(mv ==
"Valid value");
76 bool throwOccurred =
false;
80 [[maybe_unused]]
TER const t = expected.error();
87 BEAST_EXPECT(throwOccurred);
94 BEAST_EXPECT(expected);
95 BEAST_EXPECT(expected.has_value());
96 BEAST_EXPECT(expected.value() == 1);
97 BEAST_EXPECT(*expected == 1);
99 bool throwOccurred =
false;
108 throwOccurred =
true;
110 BEAST_EXPECT(throwOccurred);
117 BEAST_EXPECT(!expected);
118 BEAST_EXPECT(!expected.has_value());
121 bool throwOccurred =
false;
130 throwOccurred =
true;
132 BEAST_EXPECT(throwOccurred);
140 BEAST_EXPECT(!expected);
141 BEAST_EXPECT(!expected.has_value());
144 bool throwOccurred =
false;
148 [[maybe_unused]]
std::size_t const s = expected->size();
153 throwOccurred =
true;
155 BEAST_EXPECT(throwOccurred);
162 BEAST_EXPECT(!expected);
163 BEAST_EXPECT(!expected.has_value());
165 expected.error() ==
std::string(
"Not what is expected!"));
172 BEAST_EXPECT(!expected);
173 BEAST_EXPECT(!expected.has_value());
174 BEAST_EXPECT(expected.error() ==
"Not what is expected!");
176 BEAST_EXPECT(s ==
"Not what is expected!");
183 BEAST_EXPECT(expected);
184 bool throwOccurred =
false;
188 [[maybe_unused]]
std::size_t const s = expected.error().size();
193 throwOccurred =
true;
195 BEAST_EXPECT(throwOccurred);
202 BEAST_EXPECT(expected);
203 bool throwOccurred =
false;
207 [[maybe_unused]]
std::size_t const s = expected.error().size();
212 throwOccurred =
true;
214 BEAST_EXPECT(throwOccurred);
221 BEAST_EXPECT(!expected);
222 BEAST_EXPECT(expected.error() ==
"Not what is expected!");
229 BEAST_EXPECT(!expected);
230 BEAST_EXPECT(expected.error() ==
"Not what is expected!");
232 BEAST_EXPECT(s ==
"Not what is expected!");
235#if BOOST_VERSION >= 107500
238 return boost::json::object{{
"oops",
"me array now"}};
240 BEAST_EXPECT(expected);
241 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.