1#include <xrpl/beast/hash/xxhasher.h>
2#include <xrpl/beast/unit_test.h>
17 hasher(objectToHash.data(), objectToHash.size());
30 hasher(objectToHash.data(), objectToHash.size());
42 hasher(objectToHash.data(), objectToHash.size());
50 testcase(
"Big object with multiple small updates without seed");
54 for (
int i = 0; i < 100; i++)
56 hasher(objectToHash.data(), objectToHash.size());
65 testcase(
"Big object with multiple small updates with seed");
69 for (
int i = 0; i < 100; i++)
71 hasher(objectToHash.data(), objectToHash.size());
80 testcase(
"Big object with small and big updates without seed");
85 for (
int i = 0; i < 20; i++)
87 bigObject +=
"Hello, xxHash!";
89 hasher(objectToHash.data(), objectToHash.size());
90 hasher(bigObject.
data(), bigObject.
size());
91 hasher(objectToHash.data(), objectToHash.size());
99 testcase(
"Big object with small and big updates with seed");
104 for (
int i = 0; i < 20; i++)
106 bigObject +=
"Hello, xxHash!";
108 hasher(objectToHash.data(), objectToHash.size());
109 hasher(bigObject.
data(), bigObject.
size());
110 hasher(objectToHash.data(), objectToHash.size());
118 testcase(
"Big object with one update without seed");
122 for (
int i = 0; i < 100; i++)
124 objectToHash +=
"Hello, xxHash!";
126 hasher(objectToHash.
data(), objectToHash.
size());
134 testcase(
"Big object with one update with seed");
138 for (
int i = 0; i < 100; i++)
140 objectToHash +=
"Hello, xxHash!";
142 hasher(objectToHash.
data(), objectToHash.
size());
150 testcase(
"Operator result type doesn't change the internal state");
155 hasher(
object.data(),
object.size());
159 BEAST_EXPECT(xxhashResult1 == xxhashResult2);
165 for (
int i = 0; i < 100; i++)
167 object +=
"Hello, xxHash!";
169 hasher(
object.data(),
object.size());
173 BEAST_EXPECT(xxhashResult1 == xxhashResult2);
193BEAST_DEFINE_TESTSUITE(XXHasher, beast_core,
beast);
void testBigObjectWithSmallAndBigUpdatesWithoutSeed()
void testBigObjectWithOneUpdateWithSeed()
void testBigObjectWithMultipleSmallUpdatesWithoutSeed()
void testBigObjectWithOneUpdateWithoutSeed()
void testBigObjectWithSmallAndBigUpdatesWithSeed()
void testOperatorResultTypeDoesNotChangeInternalState()
void run() override
Runs the suite.
void testBigObjectWithMultipleSmallUpdatesWithSeed()
testcase_t testcase
Memberspace for declaring test cases.