1#include <xrpl/beast/utility/Zero.h>
3#include <gtest/gtest.h>
37 IntegerWrapper(
int v) : value(v)
49testLhsZero(IntegerWrapper x)
51 EXPECT_EQ(x >=
kZero, x.signum() >= 0);
52 EXPECT_EQ(x >
kZero, x.signum() > 0);
53 EXPECT_EQ(x ==
kZero, x.signum() == 0);
54 EXPECT_EQ(x !=
kZero, x.signum() != 0);
55 EXPECT_EQ(x <
kZero, x.signum() < 0);
56 EXPECT_EQ(x <=
kZero, x.signum() <= 0);
60testRhsZero(IntegerWrapper x)
62 EXPECT_EQ(
kZero >= x, 0 >= x.signum());
63 EXPECT_EQ(
kZero > x, 0 > x.signum());
64 EXPECT_EQ(
kZero == x, 0 == x.signum());
65 EXPECT_EQ(
kZero != x, 0 != x.signum());
66 EXPECT_EQ(
kZero < x, 0 < x.signum());
67 EXPECT_EQ(
kZero <= x, 0 <= x.signum());
TEST(LexicalCast, round_trips_every_int16_value)
auto signum(T const &t)
Default implementation of signum calls the method on the class.
Zero allows classes to offer efficient comparisons to zero.