/*============================================================================= Copyright (c) 2011-2017 Bolero MURAKAMI https://github.com/bolero-MURAKAMI/Sprout Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) =============================================================================*/ #ifndef SPROUT_LIBS_ALGORITHM_TEST_MINMAX_CPP #define SPROUT_LIBS_ALGORITHM_TEST_MINMAX_CPP #include #include #include namespace testspr { static void algorithm_minmax_test() { using namespace sprout; { SPROUT_STATIC_CONSTEXPR auto arr1 = array{{-1, 1}}; { SPROUT_STATIC_CONSTEXPR auto result = sprout::minmax( arr1[0], arr1[1] ); TESTSPR_BOTH_ASSERT(result.first == arr1[0]); TESTSPR_BOTH_ASSERT(result.second == arr1[1]); } { SPROUT_STATIC_CONSTEXPR auto result = sprout::minmax( arr1[1], arr1[0] ); TESTSPR_BOTH_ASSERT(result.first == arr1[0]); TESTSPR_BOTH_ASSERT(result.second == arr1[1]); } { SPROUT_STATIC_CONSTEXPR auto result = sprout::minmax( arr1[0], arr1[1], testspr::less() ); TESTSPR_BOTH_ASSERT(result.first == arr1[0]); TESTSPR_BOTH_ASSERT(result.second == arr1[1]); } { SPROUT_STATIC_CONSTEXPR auto result = sprout::minmax( arr1[1], arr1[0], testspr::less() ); TESTSPR_BOTH_ASSERT(result.first == arr1[0]); TESTSPR_BOTH_ASSERT(result.second == arr1[1]); } } } } // namespace testspr #ifndef TESTSPR_CPP_INCLUDE # define TESTSPR_TEST_FUNCTION testspr::algorithm_minmax_test # include #endif #endif // #ifndef SPROUT_LIBS_ALGORITHM_TEST_MINMAX_CPP