aboutsummaryrefslogtreecommitdiff
path: root/src/test/uint256_tests.cpp
diff options
context:
space:
mode:
authorMarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>2023-11-21 17:04:21 +0100
committerMarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>2023-11-21 17:37:57 +0100
commitfa63f16018d9468e1751d2107b5102184ac2d5ae (patch)
tree442778d60c8cc8fc4944553a3283e6fc82086ac6 /src/test/uint256_tests.cpp
parentfacf629ce8ff1d1f6d254dde4e89b5018f8df60e (diff)
downloadbitcoin-fa63f16018d9468e1751d2107b5102184ac2d5ae.tar.xz
test: Add uint256 string parse tests
Diffstat (limited to 'src/test/uint256_tests.cpp')
-rw-r--r--src/test/uint256_tests.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/uint256_tests.cpp b/src/test/uint256_tests.cpp
index 8aa540e761..b363b4c04d 100644
--- a/src/test/uint256_tests.cpp
+++ b/src/test/uint256_tests.cpp
@@ -279,6 +279,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");