Changeset View
Changeset View
Standalone View
Standalone View
src/test/util_tests.cpp
Show First 20 Lines • Show All 1,425 Lines • ▼ Show 20 Lines | BOOST_AUTO_TEST_CASE(util_ParseMoney) { | ||||
BOOST_CHECK(ParseMoney("100.00", ret)); | BOOST_CHECK(ParseMoney("100.00", ret)); | ||||
BOOST_CHECK_EQUAL(ret, 100 * COIN); | BOOST_CHECK_EQUAL(ret, 100 * COIN); | ||||
BOOST_CHECK(ParseMoney("10.00", ret)); | BOOST_CHECK(ParseMoney("10.00", ret)); | ||||
BOOST_CHECK_EQUAL(ret, 10 * COIN); | 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(" 1", ret)); | |||||
BOOST_CHECK_EQUAL(ret, COIN); | |||||
BOOST_CHECK(ParseMoney("1 ", ret)); | |||||
BOOST_CHECK_EQUAL(ret, COIN); | |||||
BOOST_CHECK(ParseMoney(" 1 ", ret)); | |||||
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); | ||||
BOOST_CHECK(ParseMoney("0.001", ret)); | BOOST_CHECK(ParseMoney("0.001", ret)); | ||||
BOOST_CHECK_EQUAL(ret, COIN / 1000); | BOOST_CHECK_EQUAL(ret, COIN / 1000); | ||||
BOOST_CHECK(ParseMoney("0.0001", ret)); | BOOST_CHECK(ParseMoney("0.0001", ret)); | ||||
BOOST_CHECK_EQUAL(ret, COIN / 10000); | BOOST_CHECK_EQUAL(ret, COIN / 10000); | ||||
BOOST_CHECK(ParseMoney("0.00001", ret)); | BOOST_CHECK(ParseMoney("0.00001", ret)); | ||||
BOOST_CHECK_EQUAL(ret, COIN / 100000); | BOOST_CHECK_EQUAL(ret, COIN / 100000); | ||||
BOOST_CHECK(ParseMoney("0.000001", ret)); | BOOST_CHECK(ParseMoney("0.000001", ret)); | ||||
BOOST_CHECK_EQUAL(ret, COIN / 1000000); | BOOST_CHECK_EQUAL(ret, COIN / 1000000); | ||||
BOOST_CHECK(ParseMoney("0.0000001", ret)); | BOOST_CHECK(ParseMoney("0.0000001", ret)); | ||||
BOOST_CHECK_EQUAL(ret, COIN / 10000000); | BOOST_CHECK_EQUAL(ret, COIN / 10000000); | ||||
BOOST_CHECK(ParseMoney("0.00000001", ret)); | BOOST_CHECK(ParseMoney("0.00000001", ret)); | ||||
BOOST_CHECK_EQUAL(ret, COIN / 100000000); | BOOST_CHECK_EQUAL(ret, COIN / 100000000); | ||||
BOOST_CHECK(ParseMoney(" 0.00000001 ", ret)); | |||||
BOOST_CHECK_EQUAL(ret, COIN / 100000000); | |||||
BOOST_CHECK(ParseMoney("0.00000001 ", ret)); | |||||
BOOST_CHECK_EQUAL(ret, COIN / 100000000); | |||||
BOOST_CHECK(ParseMoney(" 0.00000001", ret)); | |||||
BOOST_CHECK_EQUAL(ret, COIN / 100000000); | |||||
// Parsing amount that can not be represented in ret should fail | // Parsing amount that can not be represented in ret should fail | ||||
BOOST_CHECK(!ParseMoney("0.000000001", ret)); | BOOST_CHECK(!ParseMoney("0.000000001", ret)); | ||||
// Parsing empty string should fail | // Parsing empty string should fail | ||||
BOOST_CHECK(!ParseMoney("", ret)); | BOOST_CHECK(!ParseMoney("", ret)); | ||||
BOOST_CHECK(!ParseMoney(" ", ret)); | |||||
BOOST_CHECK(!ParseMoney(" ", ret)); | |||||
// Parsing two numbers should fail | |||||
BOOST_CHECK(!ParseMoney("1 2", ret)); | |||||
BOOST_CHECK(!ParseMoney(" 1 2 ", ret)); | |||||
BOOST_CHECK(!ParseMoney(" 1.2 3 ", ret)); | |||||
BOOST_CHECK(!ParseMoney(" 1 2.3 ", ret)); | |||||
// Attempted 63 bit overflow should fail | // Attempted 63 bit overflow should fail | ||||
BOOST_CHECK(!ParseMoney("92233720368.54775808", ret)); | BOOST_CHECK(!ParseMoney("92233720368.54775808", ret)); | ||||
// Parsing negative amounts must fail | // Parsing negative amounts must fail | ||||
BOOST_CHECK(!ParseMoney("-1", ret)); | BOOST_CHECK(!ParseMoney("-1", ret)); | ||||
// Parsing strings with embedded NUL characters should fail | // Parsing strings with embedded NUL characters should fail | ||||
▲ Show 20 Lines • Show All 1,044 Lines • Show Last 20 Lines |