From 94b5b7c73f09d5aba9f314fa24ac3328177604d1 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Tue, 6 Oct 2020 19:08:25 +0300 Subject: [PATCH] Add test for arithmetic -> buffer conversions --- test/Jamfile.v2 | 1 + test/arithmetic_buffer_test.cpp | 45 +++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 test/arithmetic_buffer_test.cpp diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 3598ae0..fc54c88 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -110,3 +110,4 @@ run endian_reverse_test5.cpp ; run-ni endian_reverse_test5.cpp ; run packed_buffer_test.cpp ; +run arithmetic_buffer_test.cpp ; diff --git a/test/arithmetic_buffer_test.cpp b/test/arithmetic_buffer_test.cpp new file mode 100644 index 0000000..37a863c --- /dev/null +++ b/test/arithmetic_buffer_test.cpp @@ -0,0 +1,45 @@ +// Copyright 2019 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. +// http://www.boost.org/LICENSE_1_0.txt + +#include +#include +#include + +template void test() +{ + A a( 5 ); + BOOST_TEST_EQ( a.value(), 5 ); + + B& b = a; + BOOST_TEST_EQ( b.value(), 5 ); + + b = 14; + BOOST_TEST_EQ( b.value(), 14 ); + BOOST_TEST_EQ( a.value(), 14 ); + + A const& ca = a; + BOOST_TEST_EQ( ca.value(), 14 ); + + B const& cb = b; + BOOST_TEST_EQ( cb.value(), 14 ); + + a = 31; + + BOOST_TEST_EQ( a.value(), 31 ); + BOOST_TEST_EQ( b.value(), 31 ); + + BOOST_TEST_EQ( ca.value(), 31 ); + BOOST_TEST_EQ( cb.value(), 31 ); +} + +int main() +{ + using namespace boost::endian; + + test(); + test(); + + return boost::report_errors(); +}