Implement more comparison operators

This commit is contained in:
Victor Zverovich
2019-10-12 09:22:24 -07:00
parent 96f91428c6
commit b55551f900
2 changed files with 115 additions and 47 deletions
+45
View File
@@ -35,6 +35,51 @@ TEST(BigIntTest, Construct) {
EXPECT_EQ("123456789abcedf0", fmt::format("{}", bigint(0x123456789abcedf0)));
}
TEST(BigIntTest, Less) {
bigint n1(42);
bigint n2(42);
EXPECT_FALSE(n1 < n2);
n2 <<= 32;
EXPECT_TRUE(n1 < n2);
EXPECT_FALSE(n2 < n1);
bigint n3(43);
EXPECT_TRUE(n1 < n3);
EXPECT_FALSE(n3 < n1);
bigint n4(42 * 0x100000001);
EXPECT_TRUE(n2 < n4);
EXPECT_FALSE(n4 < n2);
}
TEST(BigIntTest, LessEqual) {
bigint n1(42);
bigint n2(42);
EXPECT_TRUE(n1 <= n2);
n2 <<= 32;
EXPECT_TRUE(n1 <= n2);
EXPECT_FALSE(n2 <= n1);
bigint n3(43);
EXPECT_TRUE(n1 <= n3);
EXPECT_FALSE(n3 <= n1);
bigint n4(42 * 0x100000001);
EXPECT_TRUE(n2 <= n4);
EXPECT_FALSE(n4 <= n2);
}
TEST(BigIntTest, Greater) {
bigint n1(42);
bigint n2(42);
EXPECT_FALSE(n1 > n2);
n2 <<= 32;
EXPECT_FALSE(n1 > n2);
EXPECT_TRUE(n2 > n1);
bigint n3(43);
EXPECT_FALSE(n1 > n3);
EXPECT_TRUE(n3 > n1);
bigint n4(42 * 0x100000001);
EXPECT_FALSE(n2 > n4);
EXPECT_TRUE(n4 > n2);
}
TEST(BigIntTest, GreaterEqual) {
bigint n1(42);
bigint n2(42);