aboutsummaryrefslogtreecommitdiff
path: root/src/test/uint256_tests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/uint256_tests.cpp')
-rw-r--r--src/test/uint256_tests.cpp32
1 files changed, 30 insertions, 2 deletions
diff --git a/src/test/uint256_tests.cpp b/src/test/uint256_tests.cpp
index 3373f00741..5746961550 100644
--- a/src/test/uint256_tests.cpp
+++ b/src/test/uint256_tests.cpp
@@ -259,8 +259,8 @@ BOOST_AUTO_TEST_CASE( conversion )
BOOST_CHECK(UintToArith256(OneL) == 1);
BOOST_CHECK(ArithToUint256(0) == ZeroL);
BOOST_CHECK(ArithToUint256(1) == OneL);
- BOOST_CHECK(arith_uint256(R1L.GetHex()) == UintToArith256(R1L));
- BOOST_CHECK(arith_uint256(R2L.GetHex()) == UintToArith256(R2L));
+ BOOST_CHECK(arith_uint256(UintToArith256(uint256S(R1L.GetHex()))) == UintToArith256(R1L));
+ BOOST_CHECK(arith_uint256(UintToArith256(uint256S(R2L.GetHex()))) == UintToArith256(R2L));
BOOST_CHECK(R1L.GetHex() == UintToArith256(R1L).GetHex());
BOOST_CHECK(R2L.GetHex() == UintToArith256(R2L).GetHex());
}
@@ -278,6 +278,34 @@ BOOST_AUTO_TEST_CASE( operator_with_self )
BOOST_CHECK(v == UintToArith256(uint256S("0")));
}
+BOOST_AUTO_TEST_CASE(parse)
+{
+ {
+ std::string s_12{"0000000000000000000000000000000000000000000000000000000000000012"};
+ BOOST_CHECK_EQUAL(uint256S("12\0").GetHex(), s_12);
+ BOOST_CHECK_EQUAL(uint256S(std::string{"12\0", 3}).GetHex(), s_12);
+ BOOST_CHECK_EQUAL(uint256S("0x12").GetHex(), s_12);
+ BOOST_CHECK_EQUAL(uint256S(" 0x12").GetHex(), s_12);
+ BOOST_CHECK_EQUAL(uint256S(" 12").GetHex(), s_12);
+ }
+ {
+ std::string s_1{uint256::ONE.GetHex()};
+ BOOST_CHECK_EQUAL(uint256S("1\0").GetHex(), s_1);
+ BOOST_CHECK_EQUAL(uint256S(std::string{"1\0", 2}).GetHex(), s_1);
+ BOOST_CHECK_EQUAL(uint256S("0x1").GetHex(), s_1);
+ BOOST_CHECK_EQUAL(uint256S(" 0x1").GetHex(), s_1);
+ BOOST_CHECK_EQUAL(uint256S(" 1").GetHex(), s_1);
+ }
+ {
+ std::string s_0{uint256::ZERO.GetHex()};
+ BOOST_CHECK_EQUAL(uint256S("\0").GetHex(), s_0);
+ BOOST_CHECK_EQUAL(uint256S(std::string{"\0", 1}).GetHex(), s_0);
+ BOOST_CHECK_EQUAL(uint256S("0x").GetHex(), s_0);
+ BOOST_CHECK_EQUAL(uint256S(" 0x").GetHex(), s_0);
+ BOOST_CHECK_EQUAL(uint256S(" ").GetHex(), s_0);
+ }
+}
+
BOOST_AUTO_TEST_CASE( check_ONE )
{
uint256 one = uint256S("0000000000000000000000000000000000000000000000000000000000000001");