diff --git a/test/Jamfile b/test/Jamfile index f1f45de..887f2b6 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -74,6 +74,7 @@ run hash_append_range.cpp ; run hash_append_range_2.cpp ; run append_zero_sized.cpp ; +run append_digest.cpp ; # hash_append, constexpr diff --git a/test/append_digest.cpp b/test/append_digest.cpp new file mode 100644 index 0000000..a767de2 --- /dev/null +++ b/test/append_digest.cpp @@ -0,0 +1,55 @@ +// Copyright 2017, 2024 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#include +#include +#include +#include +#include + +template void test( R r ) +{ + Flavor f; + + { + unsigned char v[4] = { 1, 2, 3, 4 }; + + Hash h; + + hash_append( h, f, v ); + + BOOST_TEST_EQ( h.result(), r ); + } + + { + std::array v = {{ 1, 2, 3, 4 }}; + + Hash h; + + hash_append( h, f, v ); + + BOOST_TEST_EQ( h.result(), r ); + } + + { + boost::hash2::digest<4> v = {{ 1, 2, 3, 4 }}; + + Hash h; + + hash_append( h, f, v ); + + BOOST_TEST_EQ( h.result(), r ); + } +} + +int main() +{ + using namespace boost::hash2; + + test( 1463068797 ); + test( 1463068797 ); + test( 1463068797 ); + + return boost::report_errors(); +}