Changeset View
Changeset View
Standalone View
Standalone View
src/avalanche/test/processor_tests.cpp
Show First 20 Lines • Show All 967 Lines • ▼ Show 20 Lines | BOOST_AUTO_TEST_CASE(proof_accessors) { | ||||
constexpr int numProofs = 10; | constexpr int numProofs = 10; | ||||
std::vector<std::shared_ptr<Proof>> proofs; | std::vector<std::shared_ptr<Proof>> proofs; | ||||
proofs.reserve(numProofs); | proofs.reserve(numProofs); | ||||
for (int i = 0; i < numProofs; i++) { | for (int i = 0; i < numProofs; i++) { | ||||
proofs.push_back(GetProof()); | proofs.push_back(GetProof()); | ||||
} | } | ||||
const Peer::Timestamp checkpoint = | const auto checkpoint = GetTime<std::chrono::seconds>(); | ||||
Peer::Timestamp(std::chrono::seconds(GetTime())); | |||||
for (int i = 0; i < numProofs; i++) { | for (int i = 0; i < numProofs; i++) { | ||||
BOOST_CHECK(m_processor->addProof(proofs[i])); | BOOST_CHECK(m_processor->addProof(proofs[i])); | ||||
// Fail to add an existing proof | // Fail to add an existing proof | ||||
BOOST_CHECK(!m_processor->addProof(proofs[i])); | BOOST_CHECK(!m_processor->addProof(proofs[i])); | ||||
for (int added = 0; added <= i; added++) { | for (int added = 0; added <= i; added++) { | ||||
auto proof = m_processor->getProof(proofs[added]->getId()); | auto proof = m_processor->getProof(proofs[added]->getId()); | ||||
BOOST_CHECK(proof != nullptr); | BOOST_CHECK(proof != nullptr); | ||||
const ProofId &proofid = proof->getId(); | const ProofId &proofid = proof->getId(); | ||||
BOOST_CHECK_EQUAL(proofid, proofs[added]->getId()); | BOOST_CHECK_EQUAL(proofid, proofs[added]->getId()); | ||||
const Peer::Timestamp proofTime = | const auto proofTime = | ||||
m_processor->getProofTime(proofid); | m_processor->getProofRegistrationTime(proofid); | ||||
BOOST_CHECK(proofTime != Peer::Timestamp::max()); | BOOST_CHECK(proofTime != std::chrono::seconds::max()); | ||||
BOOST_CHECK(proofTime >= checkpoint); | BOOST_CHECK(proofTime >= checkpoint); | ||||
} | } | ||||
for (int missing = i + 1; missing < numProofs; missing++) { | for (int missing = i + 1; missing < numProofs; missing++) { | ||||
const ProofId &proofid = proofs[missing]->getId(); | const ProofId &proofid = proofs[missing]->getId(); | ||||
BOOST_CHECK(!m_processor->getProof(proofid)); | BOOST_CHECK(!m_processor->getProof(proofid)); | ||||
BOOST_CHECK(m_processor->getProofTime(proofid) == | BOOST_CHECK(m_processor->getProofRegistrationTime(proofid) == | ||||
Peer::Timestamp::max()); | std::chrono::seconds::max()); | ||||
} | } | ||||
} | } | ||||
// No stake, copied from proof_tests.cpp | // No stake, copied from proof_tests.cpp | ||||
const std::string badProofHex( | const std::string badProofHex( | ||||
"96527eae083f1f24625f049d9e54bb9a2102a93d98bf42ab90cfc0bf9e7c634ed76a7" | "96527eae083f1f24625f049d9e54bb9a2102a93d98bf42ab90cfc0bf9e7c634ed76a7" | ||||
"3e95b02cacfd357b64e4fb6c92e92dd00"); | "3e95b02cacfd357b64e4fb6c92e92dd00"); | ||||
bilingual_str error; | bilingual_str error; | ||||
Proof badProof; | Proof badProof; | ||||
BOOST_CHECK(Proof::FromHex(badProof, badProofHex, error)); | BOOST_CHECK(Proof::FromHex(badProof, badProofHex, error)); | ||||
BOOST_CHECK( | BOOST_CHECK( | ||||
!m_processor->addProof(std::make_shared<Proof>(std::move(badProof)))); | !m_processor->addProof(std::make_shared<Proof>(std::move(badProof)))); | ||||
} | } | ||||
BOOST_AUTO_TEST_SUITE_END() | BOOST_AUTO_TEST_SUITE_END() |