mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 03:47:34 +00:00
LibCrypto: Add tests for SignedBigInteger bitwise operations
This commit is contained in:
parent
3872c31b08
commit
172d81a717
1 changed files with 30 additions and 0 deletions
|
@ -443,6 +443,16 @@ TEST_CASE(test_bigint_bitwise_or_different_lengths)
|
|||
EXPECT_EQ(result, expected);
|
||||
}
|
||||
|
||||
TEST_CASE(test_signed_bigint_bitwise_or)
|
||||
{
|
||||
auto num1 = "-1234567"_sbigint;
|
||||
auto num2 = "1234567"_sbigint;
|
||||
EXPECT_EQ(num1.bitwise_or(num1), num1);
|
||||
EXPECT_EQ(num1.bitwise_or(num2), num1);
|
||||
EXPECT_EQ(num2.bitwise_or(num1), num1);
|
||||
EXPECT_EQ(num2.bitwise_or(num2), num2);
|
||||
}
|
||||
|
||||
TEST_CASE(test_bigint_bitwise_and)
|
||||
{
|
||||
auto num1 = "1234567"_bigint;
|
||||
|
@ -457,6 +467,16 @@ TEST_CASE(test_bigint_bitwise_and_different_lengths)
|
|||
EXPECT_EQ(num1.bitwise_and(num2), "1180290"_bigint);
|
||||
}
|
||||
|
||||
TEST_CASE(test_signed_bigint_bitwise_and)
|
||||
{
|
||||
auto num1 = "-1234567"_sbigint;
|
||||
auto num2 = "1234567"_sbigint;
|
||||
EXPECT_EQ(num1.bitwise_and(num1), num1);
|
||||
EXPECT_EQ(num1.bitwise_and(num2), num2);
|
||||
EXPECT_EQ(num2.bitwise_and(num1), num2);
|
||||
EXPECT_EQ(num2.bitwise_and(num2), num2);
|
||||
}
|
||||
|
||||
TEST_CASE(test_bigint_bitwise_xor)
|
||||
{
|
||||
auto num1 = "1234567"_bigint;
|
||||
|
@ -471,6 +491,16 @@ TEST_CASE(test_bigint_bitwise_xor_different_lengths)
|
|||
EXPECT_EQ(num1.bitwise_xor(num2), "123456789012345678901233441877"_bigint);
|
||||
}
|
||||
|
||||
TEST_CASE(test_signed_bigint_bitwise_xor)
|
||||
{
|
||||
auto num1 = "-3"_sbigint;
|
||||
auto num2 = "1"_sbigint;
|
||||
EXPECT_EQ(num1.bitwise_xor(num1), "0"_sbigint);
|
||||
EXPECT_EQ(num1.bitwise_xor(num2), "-2"_sbigint);
|
||||
EXPECT_EQ(num2.bitwise_xor(num1), "-2"_sbigint);
|
||||
EXPECT_EQ(num2.bitwise_xor(num2), "0"_sbigint);
|
||||
}
|
||||
|
||||
TEST_CASE(test_signed_bigint_fibo500)
|
||||
{
|
||||
Vector<u32> expected_result {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue