Changeset View
Changeset View
Standalone View
Standalone View
src/test/util_tests.cpp
// Copyright (c) 2011-2019 The Bitcoin Core developers | // Copyright (c) 2011-2019 The Bitcoin Core developers | ||||
// Distributed under the MIT software license, see the accompanying | // Distributed under the MIT software license, see the accompanying | ||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php. | // file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||||
#include <util/system.h> | #include <util/system.h> | ||||
#include <clientversion.h> | #include <clientversion.h> | ||||
#include <optional.h> | #include <optional.h> | ||||
#include <sync.h> | #include <sync.h> | ||||
#include <test/util.h> | #include <test/util.h> | ||||
#include <util/moneystr.h> | #include <util/moneystr.h> | ||||
#include <util/strencodings.h> | #include <util/strencodings.h> | ||||
#include <util/string.h> | |||||
#include <util/time.h> | #include <util/time.h> | ||||
#include <test/util/setup_common.h> | #include <test/util/setup_common.h> | ||||
#include <univalue.h> | #include <univalue.h> | ||||
#include <boost/test/unit_test.hpp> | #include <boost/test/unit_test.hpp> | ||||
▲ Show 20 Lines • Show All 129 Lines • ▼ Show 20 Lines | BOOST_AUTO_TEST_CASE(util_HexStr) { | ||||
BOOST_CHECK_EQUAL( | BOOST_CHECK_EQUAL( | ||||
HexStr(std::reverse_iterator<const uint8_t *>(ParseHex_expected + 65), | HexStr(std::reverse_iterator<const uint8_t *>(ParseHex_expected + 65), | ||||
std::reverse_iterator<const uint8_t *>(ParseHex_expected)), | std::reverse_iterator<const uint8_t *>(ParseHex_expected)), | ||||
"5f1df16b2b704c8a578d0bbaf74d385cde12c11ee50455f3c438ef4c3fbcf649b6de61" | "5f1df16b2b704c8a578d0bbaf74d385cde12c11ee50455f3c438ef4c3fbcf649b6de61" | ||||
"1feae06279a60939e028a8d65c10b73071a6f16719274855feb0fd8a6704"); | "1feae06279a60939e028a8d65c10b73071a6f16719274855feb0fd8a6704"); | ||||
} | } | ||||
BOOST_AUTO_TEST_CASE(util_Join) { | |||||
// Normal version | |||||
BOOST_CHECK_EQUAL(Join({}, ", "), ""); | |||||
BOOST_CHECK_EQUAL(Join({"foo"}, ", "), "foo"); | |||||
BOOST_CHECK_EQUAL(Join({"foo", "bar"}, ", "), "foo, bar"); | |||||
// Version with unary operator | |||||
const auto op_upper = [](const std::string &s) { return ToUpper(s); }; | |||||
BOOST_CHECK_EQUAL(Join<std::string>({}, ", ", op_upper), ""); | |||||
BOOST_CHECK_EQUAL(Join<std::string>({"foo"}, ", ", op_upper), "FOO"); | |||||
BOOST_CHECK_EQUAL(Join<std::string>({"foo", "bar"}, ", ", op_upper), | |||||
"FOO, BAR"); | |||||
} | |||||
BOOST_AUTO_TEST_CASE(util_FormatParseISO8601DateTime) { | BOOST_AUTO_TEST_CASE(util_FormatParseISO8601DateTime) { | ||||
BOOST_CHECK_EQUAL(FormatISO8601DateTime(1317425777), | BOOST_CHECK_EQUAL(FormatISO8601DateTime(1317425777), | ||||
"2011-09-30T23:36:17Z"); | "2011-09-30T23:36:17Z"); | ||||
BOOST_CHECK_EQUAL(FormatISO8601DateTime(0), "1970-01-01T00:00:00Z"); | BOOST_CHECK_EQUAL(FormatISO8601DateTime(0), "1970-01-01T00:00:00Z"); | ||||
BOOST_CHECK_EQUAL(ParseISO8601DateTime("1970-01-01T00:00:00Z"), 0); | BOOST_CHECK_EQUAL(ParseISO8601DateTime("1970-01-01T00:00:00Z"), 0); | ||||
BOOST_CHECK_EQUAL(ParseISO8601DateTime("1960-01-01T00:00:00Z"), 0); | BOOST_CHECK_EQUAL(ParseISO8601DateTime("1960-01-01T00:00:00Z"), 0); | ||||
BOOST_CHECK_EQUAL(ParseISO8601DateTime("2011-09-30T23:36:17Z"), 1317425777); | BOOST_CHECK_EQUAL(ParseISO8601DateTime("2011-09-30T23:36:17Z"), 1317425777); | ||||
▲ Show 20 Lines • Show All 1,893 Lines • Show Last 20 Lines |