#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