diff options
author | MarcoFalke <falke.marco@gmail.com> | 2021-10-01 17:33:35 +0200 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2021-10-01 18:05:33 +0200 |
commit | fa3cd2853530c86c261ac7266ffe4f1726fe9ce6 (patch) | |
tree | 6defa00c71da38b5286979f5fa8e4ae110223a2a /src/test | |
parent | 35a31d5f7e9cd71a210c1ed10abc9d772ff36049 (diff) |
refactor: Remove unused ParsePrechecks from ParseIntegral
Also:
* Remove redundant {} from return statement
* Add missing failing c-string test case and "-" and "+" strings
* Add missing failing test cases for non-int32_t integral types
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/util_tests.cpp | 58 |
1 files changed, 37 insertions, 21 deletions
diff --git a/src/test/util_tests.cpp b/src/test/util_tests.cpp index a13700d733..de78b1bb50 100644 --- a/src/test/util_tests.cpp +++ b/src/test/util_tests.cpp @@ -1474,6 +1474,35 @@ BOOST_AUTO_TEST_CASE(test_ParseInt32) BOOST_CHECK(!ParseInt32("32482348723847471234", nullptr)); } +template <typename T> +static void RunToIntegralTests() +{ + BOOST_CHECK(!ToIntegral<T>(STRING_WITH_EMBEDDED_NULL_CHAR)); + BOOST_CHECK(!ToIntegral<T>(" 1")); + BOOST_CHECK(!ToIntegral<T>("1 ")); + BOOST_CHECK(!ToIntegral<T>("1a")); + BOOST_CHECK(!ToIntegral<T>("1.1")); + BOOST_CHECK(!ToIntegral<T>("1.9")); + BOOST_CHECK(!ToIntegral<T>("+01.9")); + BOOST_CHECK(!ToIntegral<T>("-")); + BOOST_CHECK(!ToIntegral<T>("+")); + BOOST_CHECK(!ToIntegral<T>(" -1")); + BOOST_CHECK(!ToIntegral<T>("-1 ")); + BOOST_CHECK(!ToIntegral<T>(" -1 ")); + BOOST_CHECK(!ToIntegral<T>("+1")); + BOOST_CHECK(!ToIntegral<T>(" +1")); + BOOST_CHECK(!ToIntegral<T>(" +1 ")); + BOOST_CHECK(!ToIntegral<T>("+-1")); + BOOST_CHECK(!ToIntegral<T>("-+1")); + BOOST_CHECK(!ToIntegral<T>("++1")); + BOOST_CHECK(!ToIntegral<T>("--1")); + BOOST_CHECK(!ToIntegral<T>("")); + BOOST_CHECK(!ToIntegral<T>("aap")); + BOOST_CHECK(!ToIntegral<T>("0x1")); + BOOST_CHECK(!ToIntegral<T>("-32482348723847471234")); + BOOST_CHECK(!ToIntegral<T>("32482348723847471234")); +} + BOOST_AUTO_TEST_CASE(test_ToIntegral) { BOOST_CHECK_EQUAL(ToIntegral<int32_t>("1234").value(), 1'234); @@ -1486,27 +1515,14 @@ BOOST_AUTO_TEST_CASE(test_ToIntegral) BOOST_CHECK_EQUAL(ToIntegral<int32_t>("-1234").value(), -1'234); BOOST_CHECK_EQUAL(ToIntegral<int32_t>("-1").value(), -1); - BOOST_CHECK(!ToIntegral<int32_t>(" 1")); - BOOST_CHECK(!ToIntegral<int32_t>("1 ")); - BOOST_CHECK(!ToIntegral<int32_t>("1a")); - BOOST_CHECK(!ToIntegral<int32_t>("1.1")); - BOOST_CHECK(!ToIntegral<int32_t>("1.9")); - BOOST_CHECK(!ToIntegral<int32_t>("+01.9")); - BOOST_CHECK(!ToIntegral<int32_t>(" -1")); - BOOST_CHECK(!ToIntegral<int32_t>("-1 ")); - BOOST_CHECK(!ToIntegral<int32_t>(" -1 ")); - BOOST_CHECK(!ToIntegral<int32_t>("+1")); - BOOST_CHECK(!ToIntegral<int32_t>(" +1")); - BOOST_CHECK(!ToIntegral<int32_t>(" +1 ")); - BOOST_CHECK(!ToIntegral<int32_t>("+-1")); - BOOST_CHECK(!ToIntegral<int32_t>("-+1")); - BOOST_CHECK(!ToIntegral<int32_t>("++1")); - BOOST_CHECK(!ToIntegral<int32_t>("--1")); - BOOST_CHECK(!ToIntegral<int32_t>("")); - BOOST_CHECK(!ToIntegral<int32_t>("aap")); - BOOST_CHECK(!ToIntegral<int32_t>("0x1")); - BOOST_CHECK(!ToIntegral<int32_t>("-32482348723847471234")); - BOOST_CHECK(!ToIntegral<int32_t>("32482348723847471234")); + RunToIntegralTests<uint64_t>(); + RunToIntegralTests<int64_t>(); + RunToIntegralTests<uint32_t>(); + RunToIntegralTests<int32_t>(); + RunToIntegralTests<uint16_t>(); + RunToIntegralTests<int16_t>(); + RunToIntegralTests<uint8_t>(); + RunToIntegralTests<int8_t>(); BOOST_CHECK(!ToIntegral<int64_t>("-9223372036854775809")); BOOST_CHECK_EQUAL(ToIntegral<int64_t>("-9223372036854775808").value(), -9'223'372'036'854'775'807LL - 1LL); |