22#include <xrpl/protocol/Feature.h>
43 using namespace test::jtx;
47 sfHookStateChangeCount,
54 sfHookInstructionCount,
83 for (
auto const& rf : fields_to_test)
85 SField const& f = rf.get();
89 BEAST_EXPECT(!dummy.isFieldPresent(f));
94 dummy.setFieldU8(f, 0);
95 BEAST_EXPECT(dummy.getFieldU8(f) == 0);
97 dummy.setFieldU8(f, 255);
98 BEAST_EXPECT(dummy.getFieldU8(f) == 255);
100 BEAST_EXPECT(dummy.isFieldPresent(f));
105 dummy.setFieldU16(f, 0);
106 BEAST_EXPECT(dummy.getFieldU16(f) == 0);
108 dummy.setFieldU16(f, 0xFFFFU);
109 BEAST_EXPECT(dummy.getFieldU16(f) == 0xFFFFU);
111 BEAST_EXPECT(dummy.isFieldPresent(f));
116 dummy.setFieldU32(f, 0);
117 BEAST_EXPECT(dummy.getFieldU32(f) == 0);
119 dummy.setFieldU32(f, 0xFFFFFFFFU);
120 BEAST_EXPECT(dummy.getFieldU32(f) == 0xFFFFFFFFU);
122 BEAST_EXPECT(dummy.isFieldPresent(f));
127 dummy.setFieldU64(f, 0);
128 BEAST_EXPECT(dummy.getFieldU64(f) == 0);
130 dummy.setFieldU64(f, 0xFFFFFFFFFFFFFFFFU);
131 BEAST_EXPECT(dummy.getFieldU64(f) == 0xFFFFFFFFFFFFFFFFU);
133 BEAST_EXPECT(dummy.isFieldPresent(f));
139 "DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBE"
141 dummy.setFieldH256(f, u);
142 BEAST_EXPECT(dummy.getFieldH256(f) == u);
143 BEAST_EXPECT(dummy.isFieldPresent(f));
149 dummy.setFieldVL(f, v);
150 BEAST_EXPECT(dummy.getFieldVL(f) == v);
151 BEAST_EXPECT(dummy.isFieldPresent(f));
157 "rwfSjJNK2YQuN64bSWn7T2eY9FJAyAPYJT");
158 dummy.setAccountID(f,
id);
159 BEAST_EXPECT(dummy.getAccountID(f) ==
id);
160 BEAST_EXPECT(dummy.isFieldPresent(f));
166 BEAST_EXPECT(dummy.getField(f).getFName() == f);
167 BEAST_EXPECT(dummy.isFieldPresent(f));
175 dummy.setFieldArray(f, dummy2);
176 BEAST_EXPECT(dummy.getFieldArray(f) == dummy2);
177 BEAST_EXPECT(dummy.isFieldPresent(f));
191 using namespace test::jtx;
testcase_t testcase
Memberspace for declaring test cases.
void testHookFields()
This unit test was requested here: https://github.com/ripple/rippled/pull/4089#issuecomment-105027453...
void run() override
Runs the suite.
SerializedTypeID const fieldType
static base_uint fromVoid(void const *data)
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.