From 48b07e63fb963d00191d696ed9a1f4e1f7a931a2 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Fri, 10 Jan 2025 05:00:39 +0200 Subject: [PATCH] Add array_reverse_test.cpp --- test/Jamfile.v2 | 1 + test/array_reverse_test.cpp | 88 +++++++++++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 test/array_reverse_test.cpp diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 80d8972..2f18d46 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -35,6 +35,7 @@ run array_copy_test.cpp ; run array_convert_test.cpp ; run array_data_test.cpp ; run array_iterator_test.cpp ; +run array_reverse_test.cpp ; # diff --git a/test/array_reverse_test.cpp b/test/array_reverse_test.cpp new file mode 100644 index 0000000..1d556bd --- /dev/null +++ b/test/array_reverse_test.cpp @@ -0,0 +1,88 @@ +// Copyright 2025 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt) + +#include +#include +#include +#include + +template void test() +{ + { + boost::array a = {{}}; + + { + std::reverse_iterator r1( a.rbegin() ); + std::reverse_iterator r2( a.end() ); + + BOOST_TEST( r1 == r2 ); + } + + { + std::reverse_iterator r1( a.rend() ); + std::reverse_iterator r2( a.begin() ); + + BOOST_TEST( r1 == r2 ); + } + + { + std::reverse_iterator r1( a.crbegin() ); + std::reverse_iterator r2( a.cend() ); + + BOOST_TEST( r1 == r2 ); + } + + { + std::reverse_iterator r1( a.crend() ); + std::reverse_iterator r2( a.cbegin() ); + + BOOST_TEST( r1 == r2 ); + } + } + + { + boost::array const a = {{}}; + + { + std::reverse_iterator r1( a.rbegin() ); + std::reverse_iterator r2( a.end() ); + + BOOST_TEST( r1 == r2 ); + } + + { + std::reverse_iterator r1( a.rend() ); + std::reverse_iterator r2( a.begin() ); + + BOOST_TEST( r1 == r2 ); + } + + { + std::reverse_iterator r1( a.crbegin() ); + std::reverse_iterator r2( a.cend() ); + + BOOST_TEST( r1 == r2 ); + } + + { + std::reverse_iterator r1( a.crend() ); + std::reverse_iterator r2( a.cbegin() ); + + BOOST_TEST( r1 == r2 ); + } + } +} + +int main() +{ + // test(); + test(); + test(); + + // test(); + test(); + test(); + + return boost::report_errors(); +}