rippled
Loading...
Searching...
No Matches
flags.cpp
1#include <test/jtx/flags.h>
2
3#include <xrpl/protocol/jss.h>
4
5namespace ripple {
6namespace test {
7namespace jtx {
8
10fset(Account const& account, std::uint32_t on, std::uint32_t off)
11{
12 Json::Value jv;
13 jv[jss::Account] = account.human();
14 jv[jss::TransactionType] = jss::AccountSet;
15 if (on != 0)
16 jv[jss::SetFlag] = on;
17 if (off != 0)
18 jv[jss::ClearFlag] = off;
19 return jv;
20}
21
22void
24{
25 auto const sle = env.le(account_);
26 if (!sle)
27 env.test.fail();
28 else if (sle->isFieldPresent(sfFlags))
29 env.test.expect((sle->getFieldU32(sfFlags) & mask_) == mask_);
30 else
31 env.test.expect(mask_ == 0);
32}
33
34void
36{
37 auto const sle = env.le(account_);
38 if (!sle)
39 env.test.fail();
40 else if (sle->isFieldPresent(sfFlags))
41 env.test.expect((sle->getFieldU32(sfFlags) & mask_) == 0);
42 else
43 env.test.pass();
44}
45
46} // namespace jtx
47} // namespace test
48} // namespace ripple
Represents a JSON value.
Definition json_value.h:130
void pass()
Record a successful test condition.
Definition suite.h:508
bool expect(Condition const &shouldBeTrue)
Evaluate a test condition.
Definition suite.h:226
void fail(String const &reason, char const *file, int line)
Record a failure.
Definition suite.h:530
std::uint32_t mask_
Definition flags.h:16
Immutable cryptographic account descriptor.
Definition Account.h:20
A transaction testing environment.
Definition Env.h:102
beast::unit_test::suite & test
Definition Env.h:104
std::shared_ptr< SLE const > le(Account const &account) const
Return an account root.
Definition Env.cpp:259
void operator()(Env &env) const
Definition flags.cpp:23
void operator()(Env &env) const
Definition flags.cpp:35
Json::Value fset(Account const &account, std::uint32_t on, std::uint32_t off=0)
Add and/or remove flag.
Definition flags.cpp:10
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:6