aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Tiernan <tiernolan@gmail.com>2014-01-19 13:32:10 +0000
committerNoel Tiernan <tiernolan@gmail.com>2014-01-19 13:55:08 +0000
commite6c6bc92f468b3eeffe1bd5ebc7b6c617bd31714 (patch)
tree4e4b13516d951388b6736237c633ffb2017297b9
parentdd7c1cf534b760e9da55c225d6bb05f2bdb8e2e7 (diff)
Adds additional zero checks for setCompact
These encoded values should all decode to zero Positive Numbers 0x01003456 (1 byte 0x00) 0x02000056 (2 bytes 0x0000) 0x03000000 (3 bytes 0x000000) 0x04000000 (4 bytes 0x000000_00) Negative Numbers 0x00923456 -(0 bytes, so zero) 0x01803456 -(1 byte 0x00) 0x02800056 -(2 bytes 0x0000) 0x03800000 -(3 bytes 0x000000) 0x04800000 -(4 bytes 0x000000_00)
-rw-r--r--src/test/bignum_tests.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/test/bignum_tests.cpp b/src/test/bignum_tests.cpp
index 9d67324c76..205b15adcf 100644
--- a/src/test/bignum_tests.cpp
+++ b/src/test/bignum_tests.cpp
@@ -135,6 +135,42 @@ BOOST_AUTO_TEST_CASE(bignum_SetCompact)
BOOST_CHECK_EQUAL(num.GetHex(), "0");
BOOST_CHECK_EQUAL(num.GetCompact(), 0U);
+ num.SetCompact(0x01003456);
+ BOOST_CHECK_EQUAL(num.GetHex(), "0");
+ BOOST_CHECK_EQUAL(num.GetCompact(), 0U);
+
+ num.SetCompact(0x02000056);
+ BOOST_CHECK_EQUAL(num.GetHex(), "0");
+ BOOST_CHECK_EQUAL(num.GetCompact(), 0U);
+
+ num.SetCompact(0x03000000);
+ BOOST_CHECK_EQUAL(num.GetHex(), "0");
+ BOOST_CHECK_EQUAL(num.GetCompact(), 0U);
+
+ num.SetCompact(0x04000000);
+ BOOST_CHECK_EQUAL(num.GetHex(), "0");
+ BOOST_CHECK_EQUAL(num.GetCompact(), 0U);
+
+ num.SetCompact(0x00923456);
+ BOOST_CHECK_EQUAL(num.GetHex(), "0");
+ BOOST_CHECK_EQUAL(num.GetCompact(), 0U);
+
+ num.SetCompact(0x01803456);
+ BOOST_CHECK_EQUAL(num.GetHex(), "0");
+ BOOST_CHECK_EQUAL(num.GetCompact(), 0U);
+
+ num.SetCompact(0x02800056);
+ BOOST_CHECK_EQUAL(num.GetHex(), "0");
+ BOOST_CHECK_EQUAL(num.GetCompact(), 0U);
+
+ num.SetCompact(0x03800000);
+ BOOST_CHECK_EQUAL(num.GetHex(), "0");
+ BOOST_CHECK_EQUAL(num.GetCompact(), 0U);
+
+ num.SetCompact(0x04800000);
+ BOOST_CHECK_EQUAL(num.GetHex(), "0");
+ BOOST_CHECK_EQUAL(num.GetCompact(), 0U);
+
num.SetCompact(0x01123456);
BOOST_CHECK_EQUAL(num.GetHex(), "12");
BOOST_CHECK_EQUAL(num.GetCompact(), 0x01120000U);