1#ifndef XRPL_BASICS_TESTSUITE_H_INCLUDED
2#define XRPL_BASICS_TESTSUITE_H_INCLUDED
4#include <xrpl/beast/unit_test.h>
13 template <
class S,
class T>
17 if (actual != expected)
21 ss << message <<
"\n";
22 ss <<
"Actual: " << actual <<
"\n"
23 <<
"Expected: " << expected;
31 template <
class S,
class T>
35 if (actual == expected)
39 ss << message <<
"\n";
40 ss <<
"Actual: " << actual <<
"\n"
41 <<
"Expected anything but: " << expected;
49 template <
class Collection>
52 Collection
const& actual,
53 Collection
const& expected,
58 actual.size(), expected.size(), msg +
"Sizes are different");
62 auto i = begin(actual);
63 auto j = begin(expected);
66 for (; i != end(actual) && j != end(expected); ++i, ++j, ++k)
79 template <
class Exception,
class Functor>
88 catch (Exception
const&)
95 template <
class Functor>
void pass()
Record a successful test condition.
bool expect(Condition const &shouldBeTrue)
Evaluate a test condition.
void fail(String const &reason, char const *file, int line)
Record a failure.
bool expectCollectionEquals(Collection const &actual, Collection const &expected, std::string const &message="")
bool expectException(Functor f, std::string const &message="")
bool expectEquals(S actual, T expected, std::string const &message="")
static std::string addPrefix(std::string const &message)
bool expectException(Functor f, std::string const &message="")
bool expectNotEquals(S actual, T expected, std::string const &message="")
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.