diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index ae231d4..ef83df7 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -45,6 +45,7 @@ run array_swap_test.cpp ; run array_swap_test2.cpp ; run array_eq_test.cpp ; run array_lt_test.cpp ; +run array_get_test.cpp ; # diff --git a/test/array_get_test.cpp b/test/array_get_test.cpp new file mode 100644 index 0000000..32faa94 --- /dev/null +++ b/test/array_get_test.cpp @@ -0,0 +1,40 @@ +// Copyright 2025 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt) + +#include +#include +#include + +template void test() +{ + { + boost::array const a = {{ 1, 2, 3, 4 }}; + + BOOST_TEST_EQ( boost::get<0>( a ), 1 ); + BOOST_TEST_EQ( boost::get<1>( a ), 2 ); + BOOST_TEST_EQ( boost::get<2>( a ), 3 ); + BOOST_TEST_EQ( boost::get<3>( a ), 4 ); + } + + { + boost::array a = {{ 1, 2, 3, 4 }}; + + boost::get<0>( a ) += 1; + boost::get<1>( a ) += 2; + boost::get<2>( a ) += 3; + boost::get<3>( a ) += 4; + + BOOST_TEST_EQ( boost::get<0>( a ), 2 ); + BOOST_TEST_EQ( boost::get<1>( a ), 4 ); + BOOST_TEST_EQ( boost::get<2>( a ), 6 ); + BOOST_TEST_EQ( boost::get<3>( a ), 8 ); + } +} + +int main() +{ + test(); + + return boost::report_errors(); +}