1#include <xrpl/beast/unit_test.h>
2#include <xrpl/protocol/SeqProxy.h>
16 return (seqProx.
value() == value) && (seqProx.
isSeq() == expectSeq) && (seqProx.
isTicket() == !expectSeq);
23 return (lhs < rhs) && (lhs <= rhs) && (!(lhs == rhs)) && (lhs != rhs) && (!(lhs >= rhs)) && (!(lhs > rhs));
30 return (!(lhs < rhs)) && (lhs <= rhs) && (lhs == rhs) && (!(lhs != rhs)) && (lhs >= rhs) && (!(lhs > rhs));
37 return (!(lhs < rhs)) && (!(lhs <= rhs)) && (!(lhs == rhs)) && (lhs != rhs) && (lhs >= rhs) && (lhs > rhs);
51 return str.find(type) == 0 && str[type.size()] ==
' ' && str.find(value) == (type.size() + 1);
64 static constexpr SeqProxy seqZero{seq, 0};
65 static constexpr SeqProxy seqSmall{seq, 1};
66 static constexpr SeqProxy seqMid0{seq, 2};
67 static constexpr SeqProxy seqMid1{seqMid0};
68 static constexpr SeqProxy seqBig{seq, uintMax};
70 static constexpr SeqProxy ticZero{ticket, 0};
71 static constexpr SeqProxy ticSmall{ticket, 1};
72 static constexpr SeqProxy ticMid0{ticket, 2};
73 static constexpr SeqProxy ticMid1{ticMid0};
74 static constexpr SeqProxy ticBig{ticket, uintMax};
87 static_assert(
expectValues(ticBig, uintMax, ticket),
"");
90 static_assert(
expectEq(seqZero, seqZero),
"");
91 static_assert(
expectLt(seqZero, seqSmall),
"");
92 static_assert(
expectLt(seqZero, seqMid0),
"");
93 static_assert(
expectLt(seqZero, seqMid1),
"");
94 static_assert(
expectLt(seqZero, seqBig),
"");
95 static_assert(
expectLt(seqZero, ticZero),
"");
96 static_assert(
expectLt(seqZero, ticSmall),
"");
97 static_assert(
expectLt(seqZero, ticMid0),
"");
98 static_assert(
expectLt(seqZero, ticMid1),
"");
99 static_assert(
expectLt(seqZero, ticBig),
"");
101 static_assert(
expectGt(seqSmall, seqZero),
"");
102 static_assert(
expectEq(seqSmall, seqSmall),
"");
103 static_assert(
expectLt(seqSmall, seqMid0),
"");
104 static_assert(
expectLt(seqSmall, seqMid1),
"");
105 static_assert(
expectLt(seqSmall, seqBig),
"");
106 static_assert(
expectLt(seqSmall, ticZero),
"");
107 static_assert(
expectLt(seqSmall, ticSmall),
"");
108 static_assert(
expectLt(seqSmall, ticMid0),
"");
109 static_assert(
expectLt(seqSmall, ticMid1),
"");
110 static_assert(
expectLt(seqSmall, ticBig),
"");
112 static_assert(
expectGt(seqMid0, seqZero),
"");
113 static_assert(
expectGt(seqMid0, seqSmall),
"");
114 static_assert(
expectEq(seqMid0, seqMid0),
"");
115 static_assert(
expectEq(seqMid0, seqMid1),
"");
116 static_assert(
expectLt(seqMid0, seqBig),
"");
117 static_assert(
expectLt(seqMid0, ticZero),
"");
118 static_assert(
expectLt(seqMid0, ticSmall),
"");
119 static_assert(
expectLt(seqMid0, ticMid0),
"");
120 static_assert(
expectLt(seqMid0, ticMid1),
"");
121 static_assert(
expectLt(seqMid0, ticBig),
"");
123 static_assert(
expectGt(seqMid1, seqZero),
"");
124 static_assert(
expectGt(seqMid1, seqSmall),
"");
125 static_assert(
expectEq(seqMid1, seqMid0),
"");
126 static_assert(
expectEq(seqMid1, seqMid1),
"");
127 static_assert(
expectLt(seqMid1, seqBig),
"");
128 static_assert(
expectLt(seqMid1, ticZero),
"");
129 static_assert(
expectLt(seqMid1, ticSmall),
"");
130 static_assert(
expectLt(seqMid1, ticMid0),
"");
131 static_assert(
expectLt(seqMid1, ticMid1),
"");
132 static_assert(
expectLt(seqMid1, ticBig),
"");
134 static_assert(
expectGt(seqBig, seqZero),
"");
135 static_assert(
expectGt(seqBig, seqSmall),
"");
136 static_assert(
expectGt(seqBig, seqMid0),
"");
137 static_assert(
expectGt(seqBig, seqMid1),
"");
138 static_assert(
expectEq(seqBig, seqBig),
"");
139 static_assert(
expectLt(seqBig, ticZero),
"");
140 static_assert(
expectLt(seqBig, ticSmall),
"");
141 static_assert(
expectLt(seqBig, ticMid0),
"");
142 static_assert(
expectLt(seqBig, ticMid1),
"");
143 static_assert(
expectLt(seqBig, ticBig),
"");
145 static_assert(
expectGt(ticZero, seqZero),
"");
146 static_assert(
expectGt(ticZero, seqSmall),
"");
147 static_assert(
expectGt(ticZero, seqMid0),
"");
148 static_assert(
expectGt(ticZero, seqMid1),
"");
149 static_assert(
expectGt(ticZero, seqBig),
"");
150 static_assert(
expectEq(ticZero, ticZero),
"");
151 static_assert(
expectLt(ticZero, ticSmall),
"");
152 static_assert(
expectLt(ticZero, ticMid0),
"");
153 static_assert(
expectLt(ticZero, ticMid1),
"");
154 static_assert(
expectLt(ticZero, ticBig),
"");
156 static_assert(
expectGt(ticSmall, seqZero),
"");
157 static_assert(
expectGt(ticSmall, seqSmall),
"");
158 static_assert(
expectGt(ticSmall, seqMid0),
"");
159 static_assert(
expectGt(ticSmall, seqMid1),
"");
160 static_assert(
expectGt(ticSmall, seqBig),
"");
161 static_assert(
expectGt(ticSmall, ticZero),
"");
162 static_assert(
expectEq(ticSmall, ticSmall),
"");
163 static_assert(
expectLt(ticSmall, ticMid0),
"");
164 static_assert(
expectLt(ticSmall, ticMid1),
"");
165 static_assert(
expectLt(ticSmall, ticBig),
"");
167 static_assert(
expectGt(ticMid0, seqZero),
"");
168 static_assert(
expectGt(ticMid0, seqSmall),
"");
169 static_assert(
expectGt(ticMid0, seqMid0),
"");
170 static_assert(
expectGt(ticMid0, seqMid1),
"");
171 static_assert(
expectGt(ticMid0, seqBig),
"");
172 static_assert(
expectGt(ticMid0, ticZero),
"");
173 static_assert(
expectGt(ticMid0, ticSmall),
"");
174 static_assert(
expectEq(ticMid0, ticMid0),
"");
175 static_assert(
expectEq(ticMid0, ticMid1),
"");
176 static_assert(
expectLt(ticMid0, ticBig),
"");
178 static_assert(
expectGt(ticMid1, seqZero),
"");
179 static_assert(
expectGt(ticMid1, seqSmall),
"");
180 static_assert(
expectGt(ticMid1, seqMid0),
"");
181 static_assert(
expectGt(ticMid1, seqMid1),
"");
182 static_assert(
expectGt(ticMid1, seqBig),
"");
183 static_assert(
expectGt(ticMid1, ticZero),
"");
184 static_assert(
expectGt(ticMid1, ticSmall),
"");
185 static_assert(
expectEq(ticMid1, ticMid0),
"");
186 static_assert(
expectEq(ticMid1, ticMid1),
"");
187 static_assert(
expectLt(ticMid1, ticBig),
"");
189 static_assert(
expectGt(ticBig, seqZero),
"");
190 static_assert(
expectGt(ticBig, seqSmall),
"");
191 static_assert(
expectGt(ticBig, seqMid0),
"");
192 static_assert(
expectGt(ticBig, seqMid1),
"");
193 static_assert(
expectGt(ticBig, seqBig),
"");
194 static_assert(
expectGt(ticBig, ticZero),
"");
195 static_assert(
expectGt(ticBig, ticSmall),
"");
196 static_assert(
expectGt(ticBig, ticMid0),
"");
197 static_assert(
expectGt(ticBig, ticMid1),
"");
198 static_assert(
expectEq(ticBig, ticBig),
"");
A type that represents either a sequence value or a ticket value.
constexpr bool isTicket() const
constexpr std::uint32_t value() const
constexpr bool isSeq() const
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
void run() override
Runs the suite.
static constexpr bool expectGt(SeqProxy lhs, SeqProxy rhs)
static constexpr bool expectLt(SeqProxy lhs, SeqProxy rhs)
static constexpr bool expectValues(SeqProxy seqProx, std::uint32_t value, SeqProxy::Type type)
static constexpr bool expectEq(SeqProxy lhs, SeqProxy rhs)
bool streamTest(SeqProxy seqProx)