From a306472a6b1ac57a47b4df3b2909d092072bea9e Mon Sep 17 00:00:00 2001 From: Chip Hogg Date: Tue, 11 Jan 2022 19:44:10 -0500 Subject: [PATCH] Reuse callables in pairwise_all tests --- test/unit_test/runtime/magnitude_test.cpp | 26 +++++++++++++++-------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/test/unit_test/runtime/magnitude_test.cpp b/test/unit_test/runtime/magnitude_test.cpp index f5eaf0e3..653a6ef8 100644 --- a/test/unit_test/runtime/magnitude_test.cpp +++ b/test/unit_test/runtime/magnitude_test.cpp @@ -330,25 +330,33 @@ TEST_CASE("is_valid_base_power") TEST_CASE("pairwise_all evaluates all pairs") { + const auto all_pairs_return_true = pairwise_all{[](auto, auto){ return true; }}; + const auto all_pairs_return_false = pairwise_all{[](auto, auto){ return false; }}; + const auto all_increasing = pairwise_all{std::less{}}; + SECTION("always true for empty tuples") { - CHECK(pairwise_all{[](auto, auto){ return true; }}()); - CHECK(pairwise_all{[](auto, auto){ return false; }}()); + CHECK(all_pairs_return_true()); + CHECK(all_pairs_return_false()); } SECTION("always true for single-element tuples") { - CHECK(pairwise_all{[](auto, auto){ return true; }}(1)); - CHECK(pairwise_all{[](auto, auto){ return false; }}(3.14)); - CHECK(pairwise_all{[](auto, auto){ return true; }}('x')); + CHECK(all_pairs_return_true(1)); + CHECK(all_pairs_return_false(3.14)); + CHECK(all_pairs_return_true('x')); } SECTION("true for longer tuples iff true for all neighbouring pairs") { - CHECK(pairwise_all{std::less{}}(1, 1.5)); - CHECK(pairwise_all{std::less{}}(1, 1.5, 2)); - CHECK(!pairwise_all{std::less{}}(1, 2.0, 2)); - CHECK(!pairwise_all{std::less{}}(1, 2.5, 2)); + CHECK(all_increasing(1, 1.5)); + CHECK(all_increasing(1, 1.5, 2)); + + CHECK(!all_increasing(1, 2.0, 2)); + CHECK(!all_increasing(1, 2.5, 2)); + + CHECK(all_pairs_return_true('c', 1, 8.9, 42u)); + CHECK(!all_pairs_return_false('c', 1, 8.9, 42u)); } }