18 BEAST_EXPECT(x.drops() == 100);
19 BEAST_EXPECT((
std::is_same_v<
decltype(x)::unit_type, unit::dropTag>));
21 BEAST_EXPECT(y.value() == 400);
22 BEAST_EXPECT((
std::is_same_v<
decltype(y)::unit_type, unit::dropTag>));
25 BEAST_EXPECT(z.value() == 1600);
26 BEAST_EXPECT((
std::is_same_v<
decltype(z)::unit_type, unit::dropTag>));
29 FeeLevel32 baseFee{100};
41 BEAST_EXPECT(x.value() == 100);
42 BEAST_EXPECT((
std::is_same_v<
decltype(x)::unit_type, unit::dropTag>));
44 BEAST_EXPECT(y.value() == 400);
45 BEAST_EXPECT((
std::is_same_v<
decltype(y)::unit_type, unit::dropTag>));
59 BEAST_EXPECT(x.value() == 1024);
60 BEAST_EXPECT((
std::is_same_v<
decltype(x)::unit_type, unit::feelevelTag>));
63 BEAST_EXPECT(y.value() == 4096);
64 BEAST_EXPECT((
std::is_same_v<
decltype(y)::unit_type, unit::feelevelTag>));
149 auto make = [&](
auto x) ->
FeeLevel64 {
return x; };
155 BEAST_EXPECT(test.fee() == 0);
157 test = explicitmake(beast::zero);
158 BEAST_EXPECT(test.fee() == 0);
161 BEAST_EXPECT(test.fee() == 0);
163 test = explicitmake(100u);
164 BEAST_EXPECT(test.fee() == 100);
167 FeeLevel32
const targetOther{300u};
168 test = make(targetSame);
169 BEAST_EXPECT(test.fee() == 200);
170 BEAST_EXPECT(test == targetSame);
173 test = make(targetOther);
174 BEAST_EXPECT(test.fee() == 300);
175 BEAST_EXPECT(test == targetOther);
178 BEAST_EXPECT(test.fee() == 200);
180 BEAST_EXPECT(test.fee() == 300);
183 BEAST_EXPECT(test.fee() == 200);
184 test = targetOther.fee();
185 BEAST_EXPECT(test.fee() == 300);
186 BEAST_EXPECT(test == targetOther);
188 test = targetSame * 2;
189 BEAST_EXPECT(test.fee() == 400);
190 test = 3 * targetSame;
191 BEAST_EXPECT(test.fee() == 600);
192 test = targetSame / 10;
193 BEAST_EXPECT(test.fee() == 20);
196 BEAST_EXPECT(test.fee() == 220);
199 BEAST_EXPECT(test.fee() == 20);
202 BEAST_EXPECT(test.fee() == 21);
204 BEAST_EXPECT(test.fee() == 22);
206 BEAST_EXPECT(test.fee() == 21);
208 BEAST_EXPECT(test.fee() == 20);
211 BEAST_EXPECT(test.fee() == 100);
213 BEAST_EXPECT(test.fee() == 50);
215 BEAST_EXPECT(test.fee() == 11);
228 BEAST_EXPECT(test.signum() == 0);
230 BEAST_EXPECT(test.signum() == 1);
240 BEAST_EXPECT(test.fee() == 0);
242 test = explicitmake(beast::zero);
243 BEAST_EXPECT(test.fee() == 0);
246 BEAST_EXPECT(test.fee() == 0);
248 test = explicitmake(100.0);
249 BEAST_EXPECT(test.fee() == 100);
253 test = make(targetSame);
254 BEAST_EXPECT(test.fee() == 200);
255 BEAST_EXPECT(test == targetSame);
258 test = targetOther.fee();
259 BEAST_EXPECT(test.fee() == 300);
260 BEAST_EXPECT(test == targetOther);
263 BEAST_EXPECT(test.fee() == 200);
265 BEAST_EXPECT(test.fee() == 300);
268 BEAST_EXPECT(test.fee() == 200);
270 test = targetSame * 2;
271 BEAST_EXPECT(test.fee() == 400);
272 test = 3 * targetSame;
273 BEAST_EXPECT(test.fee() == 600);
274 test = targetSame / 10;
275 BEAST_EXPECT(test.fee() == 20);
278 BEAST_EXPECT(test.fee() == 220);
281 BEAST_EXPECT(test.fee() == 20);
284 BEAST_EXPECT(test.fee() == 21);
286 BEAST_EXPECT(test.fee() == 22);
288 BEAST_EXPECT(test.fee() == 21);
290 BEAST_EXPECT(test.fee() == 20);
293 BEAST_EXPECT(test.fee() == 100);
295 BEAST_EXPECT(test.fee() == 50);
303 BEAST_EXPECT(test.fee() == -50);
304 BEAST_EXPECT(test.signum() == -1);
305 BEAST_EXPECT(
to_string(test) ==
"-50.000000");
310 BEAST_EXPECT(test.signum() == 0);
312 BEAST_EXPECT(test.signum() == 1);
313 BEAST_EXPECT(
to_string(test) ==
"200.000000");