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>));
28 FeeLevel32
const f{10};
29 FeeLevel32
const baseFee{100};
43 BEAST_EXPECT(x.value() == 100);
44 BEAST_EXPECT((
std::is_same_v<
decltype(x)::unit_type, unit::dropTag>));
46 BEAST_EXPECT(y.value() == 400);
47 BEAST_EXPECT((
std::is_same_v<
decltype(y)::unit_type, unit::dropTag>));
63 BEAST_EXPECT(x.value() == 1024);
64 BEAST_EXPECT((
std::is_same_v<
decltype(x)::unit_type, unit::feelevelTag>));
67 BEAST_EXPECT(y.value() == 4096);
68 BEAST_EXPECT((
std::is_same_v<
decltype(y)::unit_type, unit::feelevelTag>));
155 auto make = [&](
auto x) ->
FeeLevel64 {
return x; };
161 BEAST_EXPECT(test.fee() == 0);
163 test = explicitmake(beast::zero);
164 BEAST_EXPECT(test.fee() == 0);
167 BEAST_EXPECT(test.fee() == 0);
169 test = explicitmake(100u);
170 BEAST_EXPECT(test.fee() == 100);
173 FeeLevel32
const targetOther{300u};
174 test = make(targetSame);
175 BEAST_EXPECT(test.fee() == 200);
176 BEAST_EXPECT(test == targetSame);
179 test = make(targetOther);
180 BEAST_EXPECT(test.fee() == 300);
181 BEAST_EXPECT(test == targetOther);
184 BEAST_EXPECT(test.fee() == 200);
186 BEAST_EXPECT(test.fee() == 300);
189 BEAST_EXPECT(test.fee() == 200);
190 test = targetOther.fee();
191 BEAST_EXPECT(test.fee() == 300);
192 BEAST_EXPECT(test == targetOther);
194 test = targetSame * 2;
195 BEAST_EXPECT(test.fee() == 400);
196 test = 3 * targetSame;
197 BEAST_EXPECT(test.fee() == 600);
198 test = targetSame / 10;
199 BEAST_EXPECT(test.fee() == 20);
202 BEAST_EXPECT(test.fee() == 220);
205 BEAST_EXPECT(test.fee() == 20);
208 BEAST_EXPECT(test.fee() == 21);
210 BEAST_EXPECT(test.fee() == 22);
212 BEAST_EXPECT(test.fee() == 21);
214 BEAST_EXPECT(test.fee() == 20);
217 BEAST_EXPECT(test.fee() == 100);
219 BEAST_EXPECT(test.fee() == 50);
221 BEAST_EXPECT(test.fee() == 11);
234 BEAST_EXPECT(test.signum() == 0);
236 BEAST_EXPECT(test.signum() == 1);
246 BEAST_EXPECT(test.fee() == 0);
248 test = explicitmake(beast::zero);
249 BEAST_EXPECT(test.fee() == 0);
252 BEAST_EXPECT(test.fee() == 0);
254 test = explicitmake(100.0);
255 BEAST_EXPECT(test.fee() == 100);
259 test = make(targetSame);
260 BEAST_EXPECT(test.fee() == 200);
261 BEAST_EXPECT(test == targetSame);
264 test = targetOther.fee();
265 BEAST_EXPECT(test.fee() == 300);
266 BEAST_EXPECT(test == targetOther);
269 BEAST_EXPECT(test.fee() == 200);
271 BEAST_EXPECT(test.fee() == 300);
274 BEAST_EXPECT(test.fee() == 200);
276 test = targetSame * 2;
277 BEAST_EXPECT(test.fee() == 400);
278 test = 3 * targetSame;
279 BEAST_EXPECT(test.fee() == 600);
280 test = targetSame / 10;
281 BEAST_EXPECT(test.fee() == 20);
284 BEAST_EXPECT(test.fee() == 220);
287 BEAST_EXPECT(test.fee() == 20);
290 BEAST_EXPECT(test.fee() == 21);
292 BEAST_EXPECT(test.fee() == 22);
294 BEAST_EXPECT(test.fee() == 21);
296 BEAST_EXPECT(test.fee() == 20);
299 BEAST_EXPECT(test.fee() == 100);
301 BEAST_EXPECT(test.fee() == 50);
309 BEAST_EXPECT(test.fee() == -50);
310 BEAST_EXPECT(test.signum() == -1);
311 BEAST_EXPECT(
to_string(test) ==
"-50.000000");
316 BEAST_EXPECT(test.signum() == 0);
318 BEAST_EXPECT(test.signum() == 1);
319 BEAST_EXPECT(
to_string(test) ==
"200.000000");