Changeset View
Changeset View
Standalone View
Standalone View
src/test/util_tests.cpp
Show First 20 Lines • Show All 148 Lines • ▼ Show 20 Lines | BOOST_AUTO_TEST_CASE(util_GetArg) { | ||||
BOOST_CHECK_EQUAL(GetBoolArg("booltest2", false), false); | BOOST_CHECK_EQUAL(GetBoolArg("booltest2", false), false); | ||||
BOOST_CHECK_EQUAL(GetBoolArg("booltest3", false), false); | BOOST_CHECK_EQUAL(GetBoolArg("booltest3", false), false); | ||||
BOOST_CHECK_EQUAL(GetBoolArg("booltest4", false), true); | BOOST_CHECK_EQUAL(GetBoolArg("booltest4", false), true); | ||||
} | } | ||||
BOOST_AUTO_TEST_CASE(util_FormatMoney) { | BOOST_AUTO_TEST_CASE(util_FormatMoney) { | ||||
BOOST_CHECK_EQUAL(FormatMoney(0), "0.00"); | BOOST_CHECK_EQUAL(FormatMoney(0), "0.00"); | ||||
BOOST_CHECK_EQUAL(FormatMoney((COIN / 10000) * 123456789), "12345.6789"); | BOOST_CHECK_EQUAL(FormatMoney((COIN / 10000) * 123456789), "12345.6789"); | ||||
BOOST_CHECK_EQUAL(FormatMoney(-COIN), "-1.00"); | BOOST_CHECK_EQUAL(FormatMoney(-1 * COIN), "-1.00"); | ||||
BOOST_CHECK_EQUAL(FormatMoney(COIN * 100000000), "100000000.00"); | BOOST_CHECK_EQUAL(FormatMoney(100000000 * COIN), "100000000.00"); | ||||
BOOST_CHECK_EQUAL(FormatMoney(COIN * 10000000), "10000000.00"); | BOOST_CHECK_EQUAL(FormatMoney(10000000 * COIN), "10000000.00"); | ||||
BOOST_CHECK_EQUAL(FormatMoney(COIN * 1000000), "1000000.00"); | BOOST_CHECK_EQUAL(FormatMoney(1000000 * COIN), "1000000.00"); | ||||
BOOST_CHECK_EQUAL(FormatMoney(COIN * 100000), "100000.00"); | BOOST_CHECK_EQUAL(FormatMoney(100000 * COIN), "100000.00"); | ||||
BOOST_CHECK_EQUAL(FormatMoney(COIN * 10000), "10000.00"); | BOOST_CHECK_EQUAL(FormatMoney(10000 * COIN), "10000.00"); | ||||
BOOST_CHECK_EQUAL(FormatMoney(COIN * 1000), "1000.00"); | BOOST_CHECK_EQUAL(FormatMoney(1000 * COIN), "1000.00"); | ||||
BOOST_CHECK_EQUAL(FormatMoney(COIN * 100), "100.00"); | BOOST_CHECK_EQUAL(FormatMoney(100 * COIN), "100.00"); | ||||
BOOST_CHECK_EQUAL(FormatMoney(COIN * 10), "10.00"); | BOOST_CHECK_EQUAL(FormatMoney(10 * COIN), "10.00"); | ||||
BOOST_CHECK_EQUAL(FormatMoney(COIN), "1.00"); | BOOST_CHECK_EQUAL(FormatMoney(COIN), "1.00"); | ||||
BOOST_CHECK_EQUAL(FormatMoney(COIN / 10), "0.10"); | BOOST_CHECK_EQUAL(FormatMoney(COIN / 10), "0.10"); | ||||
BOOST_CHECK_EQUAL(FormatMoney(COIN / 100), "0.01"); | BOOST_CHECK_EQUAL(FormatMoney(COIN / 100), "0.01"); | ||||
BOOST_CHECK_EQUAL(FormatMoney(COIN / 1000), "0.001"); | BOOST_CHECK_EQUAL(FormatMoney(COIN / 1000), "0.001"); | ||||
BOOST_CHECK_EQUAL(FormatMoney(COIN / 10000), "0.0001"); | BOOST_CHECK_EQUAL(FormatMoney(COIN / 10000), "0.0001"); | ||||
BOOST_CHECK_EQUAL(FormatMoney(COIN / 100000), "0.00001"); | BOOST_CHECK_EQUAL(FormatMoney(COIN / 100000), "0.00001"); | ||||
BOOST_CHECK_EQUAL(FormatMoney(COIN / 1000000), "0.000001"); | BOOST_CHECK_EQUAL(FormatMoney(COIN / 1000000), "0.000001"); | ||||
BOOST_CHECK_EQUAL(FormatMoney(COIN / 10000000), "0.0000001"); | BOOST_CHECK_EQUAL(FormatMoney(COIN / 10000000), "0.0000001"); | ||||
BOOST_CHECK_EQUAL(FormatMoney(COIN / 100000000), "0.00000001"); | BOOST_CHECK_EQUAL(FormatMoney(COIN / 100000000), "0.00000001"); | ||||
} | } | ||||
BOOST_AUTO_TEST_CASE(util_ParseMoney) { | BOOST_AUTO_TEST_CASE(util_ParseMoney) { | ||||
CAmount ret = 0; | CAmount ret = 0; | ||||
BOOST_CHECK(ParseMoney("0.0", ret)); | BOOST_CHECK(ParseMoney("0.0", ret)); | ||||
BOOST_CHECK_EQUAL(ret, 0); | BOOST_CHECK_EQUAL(ret, 0); | ||||
BOOST_CHECK(ParseMoney("12345.6789", ret)); | BOOST_CHECK(ParseMoney("12345.6789", ret)); | ||||
BOOST_CHECK_EQUAL(ret, (COIN / 10000) * 123456789); | BOOST_CHECK_EQUAL(ret, (COIN / 10000) * 123456789); | ||||
BOOST_CHECK(ParseMoney("100000000.00", ret)); | BOOST_CHECK(ParseMoney("100000000.00", ret)); | ||||
BOOST_CHECK_EQUAL(ret, COIN * 100000000); | BOOST_CHECK_EQUAL(ret, 100000000 * COIN); | ||||
BOOST_CHECK(ParseMoney("10000000.00", ret)); | BOOST_CHECK(ParseMoney("10000000.00", ret)); | ||||
BOOST_CHECK_EQUAL(ret, COIN * 10000000); | BOOST_CHECK_EQUAL(ret, 10000000 * COIN); | ||||
BOOST_CHECK(ParseMoney("1000000.00", ret)); | BOOST_CHECK(ParseMoney("1000000.00", ret)); | ||||
BOOST_CHECK_EQUAL(ret, COIN * 1000000); | BOOST_CHECK_EQUAL(ret, 1000000 * COIN); | ||||
BOOST_CHECK(ParseMoney("100000.00", ret)); | BOOST_CHECK(ParseMoney("100000.00", ret)); | ||||
BOOST_CHECK_EQUAL(ret, COIN * 100000); | BOOST_CHECK_EQUAL(ret, 100000 * COIN); | ||||
BOOST_CHECK(ParseMoney("10000.00", ret)); | BOOST_CHECK(ParseMoney("10000.00", ret)); | ||||
BOOST_CHECK_EQUAL(ret, COIN * 10000); | BOOST_CHECK_EQUAL(ret, 10000 * COIN); | ||||
BOOST_CHECK(ParseMoney("1000.00", ret)); | BOOST_CHECK(ParseMoney("1000.00", ret)); | ||||
BOOST_CHECK_EQUAL(ret, COIN * 1000); | BOOST_CHECK_EQUAL(ret, 1000 * COIN); | ||||
BOOST_CHECK(ParseMoney("100.00", ret)); | BOOST_CHECK(ParseMoney("100.00", ret)); | ||||
BOOST_CHECK_EQUAL(ret, COIN * 100); | BOOST_CHECK_EQUAL(ret, 100 * COIN); | ||||
BOOST_CHECK(ParseMoney("10.00", ret)); | BOOST_CHECK(ParseMoney("10.00", ret)); | ||||
BOOST_CHECK_EQUAL(ret, COIN * 10); | BOOST_CHECK_EQUAL(ret, 10 * COIN); | ||||
BOOST_CHECK(ParseMoney("1.00", ret)); | BOOST_CHECK(ParseMoney("1.00", ret)); | ||||
BOOST_CHECK_EQUAL(ret, COIN); | BOOST_CHECK_EQUAL(ret, COIN); | ||||
BOOST_CHECK(ParseMoney("1", ret)); | BOOST_CHECK(ParseMoney("1", ret)); | ||||
BOOST_CHECK_EQUAL(ret, COIN); | BOOST_CHECK_EQUAL(ret, COIN); | ||||
BOOST_CHECK(ParseMoney("0.1", ret)); | BOOST_CHECK(ParseMoney("0.1", ret)); | ||||
BOOST_CHECK_EQUAL(ret, COIN / 10); | BOOST_CHECK_EQUAL(ret, COIN / 10); | ||||
BOOST_CHECK(ParseMoney("0.01", ret)); | BOOST_CHECK(ParseMoney("0.01", ret)); | ||||
BOOST_CHECK_EQUAL(ret, COIN / 100); | BOOST_CHECK_EQUAL(ret, COIN / 100); | ||||
▲ Show 20 Lines • Show All 341 Lines • ▼ Show 20 Lines | BOOST_AUTO_TEST_CASE(test_FormatSubVersion) { | ||||
BOOST_CHECK_EQUAL(FormatSubVersion("Test", 99900, comments), | BOOST_CHECK_EQUAL(FormatSubVersion("Test", 99900, comments), | ||||
std::string("/Test:0.9.99(comment1)/")); | std::string("/Test:0.9.99(comment1)/")); | ||||
BOOST_CHECK_EQUAL( | BOOST_CHECK_EQUAL( | ||||
FormatSubVersion("Test", 99900, comments2), | FormatSubVersion("Test", 99900, comments2), | ||||
std::string("/Test:0.9.99(comment1; Comment2; .,_?@-; )/")); | std::string("/Test:0.9.99(comment1; Comment2; .,_?@-; )/")); | ||||
} | } | ||||
BOOST_AUTO_TEST_CASE(test_ParseFixedPoint) { | BOOST_AUTO_TEST_CASE(test_ParseFixedPoint) { | ||||
int64_t amount = 0; | CAmount amount = 0; | ||||
BOOST_CHECK(ParseFixedPoint("0", 8, &amount)); | BOOST_CHECK(ParseFixedPoint("0", 8, &amount)); | ||||
BOOST_CHECK_EQUAL(amount, 0LL); | BOOST_CHECK_EQUAL(amount, CAmount(0LL)); | ||||
BOOST_CHECK(ParseFixedPoint("1", 8, &amount)); | BOOST_CHECK(ParseFixedPoint("1", 8, &amount)); | ||||
BOOST_CHECK_EQUAL(amount, 100000000LL); | BOOST_CHECK_EQUAL(amount, CAmount(100000000LL)); | ||||
BOOST_CHECK(ParseFixedPoint("0.0", 8, &amount)); | BOOST_CHECK(ParseFixedPoint("0.0", 8, &amount)); | ||||
BOOST_CHECK_EQUAL(amount, 0LL); | BOOST_CHECK_EQUAL(amount, CAmount(0LL)); | ||||
BOOST_CHECK(ParseFixedPoint("-0.1", 8, &amount)); | BOOST_CHECK(ParseFixedPoint("-0.1", 8, &amount)); | ||||
BOOST_CHECK_EQUAL(amount, -10000000LL); | BOOST_CHECK_EQUAL(amount, CAmount(-10000000LL)); | ||||
BOOST_CHECK(ParseFixedPoint("1.1", 8, &amount)); | BOOST_CHECK(ParseFixedPoint("1.1", 8, &amount)); | ||||
BOOST_CHECK_EQUAL(amount, 110000000LL); | BOOST_CHECK_EQUAL(amount, CAmount(110000000LL)); | ||||
BOOST_CHECK(ParseFixedPoint("1.10000000000000000", 8, &amount)); | BOOST_CHECK(ParseFixedPoint("1.10000000000000000", 8, &amount)); | ||||
BOOST_CHECK_EQUAL(amount, 110000000LL); | BOOST_CHECK_EQUAL(amount, CAmount(110000000LL)); | ||||
BOOST_CHECK(ParseFixedPoint("1.1e1", 8, &amount)); | BOOST_CHECK(ParseFixedPoint("1.1e1", 8, &amount)); | ||||
BOOST_CHECK_EQUAL(amount, 1100000000LL); | BOOST_CHECK_EQUAL(amount, CAmount(1100000000LL)); | ||||
BOOST_CHECK(ParseFixedPoint("1.1e-1", 8, &amount)); | BOOST_CHECK(ParseFixedPoint("1.1e-1", 8, &amount)); | ||||
BOOST_CHECK_EQUAL(amount, 11000000LL); | BOOST_CHECK_EQUAL(amount, CAmount(11000000LL)); | ||||
BOOST_CHECK(ParseFixedPoint("1000", 8, &amount)); | BOOST_CHECK(ParseFixedPoint("1000", 8, &amount)); | ||||
BOOST_CHECK_EQUAL(amount, 100000000000LL); | BOOST_CHECK_EQUAL(amount, CAmount(100000000000LL)); | ||||
BOOST_CHECK(ParseFixedPoint("-1000", 8, &amount)); | BOOST_CHECK(ParseFixedPoint("-1000", 8, &amount)); | ||||
BOOST_CHECK_EQUAL(amount, -100000000000LL); | BOOST_CHECK_EQUAL(amount, CAmount(-100000000000LL)); | ||||
BOOST_CHECK(ParseFixedPoint("0.00000001", 8, &amount)); | BOOST_CHECK(ParseFixedPoint("0.00000001", 8, &amount)); | ||||
BOOST_CHECK_EQUAL(amount, 1LL); | BOOST_CHECK_EQUAL(amount, CAmount(1LL)); | ||||
BOOST_CHECK(ParseFixedPoint("0.0000000100000000", 8, &amount)); | BOOST_CHECK(ParseFixedPoint("0.0000000100000000", 8, &amount)); | ||||
BOOST_CHECK_EQUAL(amount, 1LL); | BOOST_CHECK_EQUAL(amount, CAmount(1LL)); | ||||
BOOST_CHECK(ParseFixedPoint("-0.00000001", 8, &amount)); | BOOST_CHECK(ParseFixedPoint("-0.00000001", 8, &amount)); | ||||
BOOST_CHECK_EQUAL(amount, -1LL); | BOOST_CHECK_EQUAL(amount, CAmount(-1LL)); | ||||
BOOST_CHECK(ParseFixedPoint("1000000000.00000001", 8, &amount)); | BOOST_CHECK(ParseFixedPoint("1000000000.00000001", 8, &amount)); | ||||
BOOST_CHECK_EQUAL(amount, 100000000000000001LL); | BOOST_CHECK_EQUAL(amount, CAmount(100000000000000001LL)); | ||||
BOOST_CHECK(ParseFixedPoint("9999999999.99999999", 8, &amount)); | BOOST_CHECK(ParseFixedPoint("9999999999.99999999", 8, &amount)); | ||||
BOOST_CHECK_EQUAL(amount, 999999999999999999LL); | BOOST_CHECK_EQUAL(amount, CAmount(999999999999999999LL)); | ||||
BOOST_CHECK(ParseFixedPoint("-9999999999.99999999", 8, &amount)); | BOOST_CHECK(ParseFixedPoint("-9999999999.99999999", 8, &amount)); | ||||
BOOST_CHECK_EQUAL(amount, -999999999999999999LL); | BOOST_CHECK_EQUAL(amount, CAmount(-999999999999999999LL)); | ||||
BOOST_CHECK(!ParseFixedPoint("", 8, &amount)); | BOOST_CHECK(!ParseFixedPoint("", 8, &amount)); | ||||
BOOST_CHECK(!ParseFixedPoint("-", 8, &amount)); | BOOST_CHECK(!ParseFixedPoint("-", 8, &amount)); | ||||
BOOST_CHECK(!ParseFixedPoint("a-1000", 8, &amount)); | BOOST_CHECK(!ParseFixedPoint("a-1000", 8, &amount)); | ||||
BOOST_CHECK(!ParseFixedPoint("-a1000", 8, &amount)); | BOOST_CHECK(!ParseFixedPoint("-a1000", 8, &amount)); | ||||
BOOST_CHECK(!ParseFixedPoint("-1000a", 8, &amount)); | BOOST_CHECK(!ParseFixedPoint("-1000a", 8, &amount)); | ||||
BOOST_CHECK(!ParseFixedPoint("-01000", 8, &amount)); | BOOST_CHECK(!ParseFixedPoint("-01000", 8, &amount)); | ||||
BOOST_CHECK(!ParseFixedPoint("00.1", 8, &amount)); | BOOST_CHECK(!ParseFixedPoint("00.1", 8, &amount)); | ||||
Show All 23 Lines |