diff options
author | Martin Zumsande <mzumsande@gmail.com> | 2023-01-15 20:18:11 -0500 |
---|---|---|
committer | Martin Zumsande <mzumsande@gmail.com> | 2023-01-17 17:19:56 -0500 |
commit | da6c7aeca38e1d0ab5839a374c26af0504d603fc (patch) | |
tree | 3eacacea246f5e5551c55da39d307ccba2b06eee /src/test | |
parent | 32834034a3a6bfe2687feb86145d46e610c6ca9d (diff) |
hash: add HashedSourceWriter
This class is the counterpart to CHashVerifier, in that it
writes data to an underlying source stream,
while keeping a hash of the written data.
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/streams_tests.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/test/streams_tests.cpp b/src/test/streams_tests.cpp index dce230ac10..03117f76ae 100644 --- a/src/test/streams_tests.cpp +++ b/src/test/streams_tests.cpp @@ -500,4 +500,18 @@ BOOST_AUTO_TEST_CASE(streams_buffered_file_rand) fs::remove(streams_test_filename); } +BOOST_AUTO_TEST_CASE(streams_hashed) +{ + CDataStream stream(SER_NETWORK, INIT_PROTO_VERSION); + HashedSourceWriter hash_writer{stream}; + const std::string data{"bitcoin"}; + hash_writer << data; + + CHashVerifier hash_verifier{&stream}; + std::string result; + hash_verifier >> result; + BOOST_CHECK_EQUAL(data, result); + BOOST_CHECK_EQUAL(hash_writer.GetHash(), hash_verifier.GetHash()); +} + BOOST_AUTO_TEST_SUITE_END() |