Changeset View
Changeset View
Standalone View
Standalone View
src/test/interfaces_tests.cpp
- This file was added.
// Copyright (c) 2020 The Bitcoin Core developers | |||||
// Distributed under the MIT software license, see the accompanying | |||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php. | |||||
#include <chainparams.h> | |||||
#include <interfaces/chain.h> | |||||
#include <test/util/setup_common.h> | |||||
#include <validation.h> | |||||
#include <boost/test/unit_test.hpp> | |||||
using interfaces::FoundBlock; | |||||
BOOST_FIXTURE_TEST_SUITE(interfaces_tests, TestChain100Setup) | |||||
BOOST_AUTO_TEST_CASE(findBlock) { | |||||
auto chain = interfaces::MakeChain(m_node, Params()); | |||||
auto &active = ChainActive(); | |||||
BlockHash hash; | |||||
BOOST_CHECK( | |||||
chain->findBlock(active[10]->GetBlockHash(), FoundBlock().hash(hash))); | |||||
BOOST_CHECK_EQUAL(hash, active[10]->GetBlockHash()); | |||||
int height = -1; | |||||
BOOST_CHECK(chain->findBlock(active[20]->GetBlockHash(), | |||||
FoundBlock().height(height))); | |||||
BOOST_CHECK_EQUAL(height, active[20]->nHeight); | |||||
CBlock data; | |||||
BOOST_CHECK( | |||||
chain->findBlock(active[30]->GetBlockHash(), FoundBlock().data(data))); | |||||
BOOST_CHECK_EQUAL(data.GetHash(), active[30]->GetBlockHash()); | |||||
int64_t time = -1; | |||||
BOOST_CHECK( | |||||
chain->findBlock(active[40]->GetBlockHash(), FoundBlock().time(time))); | |||||
BOOST_CHECK_EQUAL(time, active[40]->GetBlockTime()); | |||||
int64_t max_time = -1; | |||||
BOOST_CHECK(chain->findBlock(active[50]->GetBlockHash(), | |||||
FoundBlock().maxTime(max_time))); | |||||
BOOST_CHECK_EQUAL(max_time, active[50]->GetBlockTimeMax()); | |||||
int64_t mtp_time = -1; | |||||
BOOST_CHECK(chain->findBlock(active[60]->GetBlockHash(), | |||||
FoundBlock().mtpTime(mtp_time))); | |||||
BOOST_CHECK_EQUAL(mtp_time, active[60]->GetMedianTimePast()); | |||||
BOOST_CHECK(!chain->findBlock(BlockHash(), FoundBlock())); | |||||
} | |||||
BOOST_AUTO_TEST_SUITE_END() |