From c549abb18499bec9634dc913bc8c5d18797ef852 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Sat, 11 Jan 2025 22:01:01 +0200 Subject: [PATCH] Add array_swap_test.cpp --- test/Jamfile.v2 | 1 + test/array_swap_test.cpp | 49 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 test/array_swap_test.cpp diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index c7c14bf..d32ef70 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -41,6 +41,7 @@ run array_access_test.cpp ; run array_c_array_test.cpp ; run array_fill_test.cpp ; run array_assign_test.cpp ; +run array_swap_test.cpp ; # diff --git a/test/array_swap_test.cpp b/test/array_swap_test.cpp new file mode 100644 index 0000000..fb41798 --- /dev/null +++ b/test/array_swap_test.cpp @@ -0,0 +1,49 @@ +// 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 a1 = {}; + boost::array a2 = {}; + + a1.fill( 1 ); + a2.fill( 2 ); + + a1.swap( a2 ); + + for( std::size_t i = 0; i < N; ++i ) + { + BOOST_TEST_EQ( a1[i], 2 ); + BOOST_TEST_EQ( a2[i], 1 ); + } +} + +template void test2() +{ + boost::array a1 = {{ 1, 2, 3, 4 }}; + boost::array a2 = {{ 5, 6, 7, 8 }}; + + a1.swap( a2 ); + + for( int i = 0; i < 4; ++i ) + { + BOOST_TEST_EQ( a1[i], i+5 ); + BOOST_TEST_EQ( a2[i], i+1 ); + } +} + +int main() +{ + test(); + test(); + test(); + + test2(); + + return boost::report_errors(); +}