20 #include <ripple/basics/Blob.h>
21 #include <ripple/basics/base_uint.h>
22 #include <ripple/basics/hardened_hash.h>
23 #include <ripple/beast/unit_test.h>
24 #include <boost/algorithm/string.hpp>
34 template <std::
size_t Bits>
72 Blob raw{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
77 BEAST_EXPECT(raw.size() == u.size());
78 BEAST_EXPECT(
to_string(u) ==
"0102030405060708090A0B0C");
79 BEAST_EXPECT(*u.data() == 1);
80 BEAST_EXPECT(u.signum() == 1);
82 BEAST_EXPECT(!u.isZero());
83 BEAST_EXPECT(u.isNonZero());
87 BEAST_EXPECT(d == ++t);
100 BEAST_EXPECT(
to_string(v) ==
"FEFDFCFBFAF9F8F7F6F5F4F3");
101 BEAST_EXPECT(*v.data() == 0xfe);
102 BEAST_EXPECT(v.signum() == 1);
104 BEAST_EXPECT(!v.isZero());
105 BEAST_EXPECT(v.isNonZero());
109 BEAST_EXPECT(d == --t);
112 BEAST_EXPECT(
compare(u, v) < 0);
113 BEAST_EXPECT(
compare(v, u) > 0);
116 BEAST_EXPECT(v == u);
120 BEAST_EXPECT(
to_string(z) ==
"000000000000000000000000");
121 BEAST_EXPECT(*z.data() == 0);
122 BEAST_EXPECT(*z.begin() == 0);
123 BEAST_EXPECT(*
std::prev(z.end(), 1) == 0);
124 BEAST_EXPECT(z.signum() == 0);
126 BEAST_EXPECT(z.isZero());
127 BEAST_EXPECT(!z.isNonZero());
130 BEAST_EXPECT(d == 0);
135 BEAST_EXPECT(n ==
test96(1));
137 BEAST_EXPECT(n == beast::zero);
138 BEAST_EXPECT(n == z);
140 BEAST_EXPECT(
to_string(n) ==
"FFFFFFFFFFFFFFFFFFFFFFFF");
142 BEAST_EXPECT(n == z);
152 BEAST_EXPECT(uset.
size() == 4);
157 BEAST_EXPECT(fromHex == u);
172 BEAST_EXPECT(fromHex == u);
177 BEAST_EXPECT(fromHex == u);
182 BEAST_EXPECT(fromHex == u);
186 BEAST_EXPECT(!fromHex.
SetHex(
187 boost::algorithm::replace_all_copy(
to_string(u),
"0",
"Z")));
191 BEAST_EXPECT(fromHex == u);
201 BEAST_EXPECT(fromHex == u);
205 BEAST_EXPECT(fromHex == u);