From 9b3d8dc96e4b0abde113981157f0110d67ae7e8c Mon Sep 17 00:00:00 2001 From: John Wellbelove Date: Tue, 8 Jul 2025 20:47:05 +0100 Subject: [PATCH] Fixed lower and upper bound tests for std::less comparator --- test/test_multiset.cpp | 88 +++++++++--------------------------------- test/test_set.cpp | 77 ++++++++++-------------------------- 2 files changed, 38 insertions(+), 127 deletions(-) diff --git a/test/test_multiset.cpp b/test/test_multiset.cpp index cb64956c..aae2b234 100644 --- a/test/test_multiset.cpp +++ b/test/test_multiset.cpp @@ -45,13 +45,13 @@ static const size_t MAX_SIZE = 10UL; #define TEST_GREATER_THAN #ifdef TEST_GREATER_THAN -using Data = etl::multiset>; -using IData = etl::imultiset>; -using Compare_Data = std::multiset>; + using Data = etl::multiset>; + using IData = etl::imultiset>; + using Compare_Data = std::multiset>; #else -using Data = etl::multiset>; -using IData = etl::multiset>; -using Compare_Data = std::multiset>; + using Data = etl::multiset>; + using IData = etl::imultiset>; + using Compare_Data = std::multiset>; #endif using ItemM = TestDataM; @@ -1151,30 +1151,17 @@ namespace CHECK_EQUAL(*i_compare, *i_data); #ifdef TEST_GREATER_THAN - i_compare = compare_data.lower_bound(-1); - CHECK(compare_data.end() == i_compare); - i_data = data.lower_bound(-1); CHECK(data.end() == i_data); - i_compare = compare_data.lower_bound(99); i_data = data.lower_bound(99); - CHECK(i_data != data.end()); - - if ((i_data != data.end()) && (i_compare != compare_data.end())) - { - CHECK(*i_compare == *i_data); - } + CHECK(i_data == data.begin()); #else - i_compare = compare_data.lower_bound(-1); i_data = data.lower_bound(-1); - CHECK_EQUAL(*i_compare, *i_data); - - i_compare = compare_data.lower_bound(99); - CHECK_EQUAL(compare_data.end(), i_compare); + CHECK(data.begin() == i_data); i_data = data.lower_bound(99); - CHECK_EQUAL(data.end(), i_data); + CHECK(i_data == data.end()); #endif } @@ -1213,30 +1200,17 @@ namespace CHECK_EQUAL(*i_compare, *i_data); #ifdef TEST_GREATER_THAN - i_compare = compare_data.lower_bound(-1); - CHECK(compare_data.end() == i_compare); - i_data = data.lower_bound(-1); CHECK(data.end() == i_data); - i_compare = compare_data.lower_bound(99); i_data = data.lower_bound(99); - CHECK(i_data != data.end()); - - if ((i_data != data.end()) && (i_compare != compare_data.end())) - { - CHECK(*i_compare == *i_data); - } + CHECK(i_data == data.begin()); #else - i_compare = compare_data.lower_bound(-1); i_data = data.lower_bound(-1); - CHECK_EQUAL(*i_compare, *i_data); - - i_compare = compare_data.lower_bound(99); - CHECK_EQUAL(compare_data.end(), i_compare); + CHECK(data.begin() == i_data); i_data = data.lower_bound(99); - CHECK_EQUAL(data.end(), i_data); + CHECK(i_data == data.end()); #endif } @@ -1275,30 +1249,17 @@ namespace CHECK_EQUAL(*i_compare, *i_data); #ifdef TEST_GREATER_THAN - i_compare = compare_data.upper_bound(-1); - CHECK(compare_data.end() == i_compare); - i_data = data.upper_bound(-1); CHECK(data.end() == i_data); - i_compare = compare_data.upper_bound(99); i_data = data.upper_bound(99); - CHECK(i_data != data.end()); - - if ((i_data != data.end()) && (i_compare != compare_data.end())) - { - CHECK(*i_compare == *i_data); - } + CHECK(i_data == data.begin()); #else - i_compare = compare_data.upper_bound(-1); i_data = data.upper_bound(-1); - CHECK_EQUAL(*i_compare, *i_data); - - i_compare = compare_data.upper_bound(99); - CHECK_EQUAL(compare_data.end(), i_compare); + CHECK(data.begin() == i_data); i_data = data.upper_bound(99); - CHECK_EQUAL(data.end(), i_data); + CHECK(i_data == data.end()); #endif } @@ -1337,30 +1298,17 @@ namespace CHECK_EQUAL(*i_compare, *i_data); #ifdef TEST_GREATER_THAN - i_compare = compare_data.upper_bound(-1); - CHECK(compare_data.end() == i_compare); - i_data = data.upper_bound(-1); CHECK(data.end() == i_data); - i_compare = compare_data.upper_bound(99); i_data = data.upper_bound(99); - CHECK(i_data != data.end()); - - if ((i_data != data.end()) && (i_compare != compare_data.end())) - { - CHECK(*i_compare == *i_data); - } + CHECK(i_data == data.begin()); #else - i_compare = compare_data.upper_bound(-1); i_data = data.upper_bound(-1); - CHECK_EQUAL(*i_compare, *i_data); - - i_compare = compare_data.upper_bound(99); - CHECK_EQUAL(compare_data.end(), i_compare); + CHECK(data.begin() == i_data); i_data = data.upper_bound(99); - CHECK_EQUAL(data.end(), i_data); + CHECK(i_data == data.end()); #endif } diff --git a/test/test_set.cpp b/test/test_set.cpp index a8d93776..0865eff8 100644 --- a/test/test_set.cpp +++ b/test/test_set.cpp @@ -1025,30 +1025,17 @@ namespace CHECK_EQUAL(*i_compare, *i_data); #ifdef TEST_GREATER_THAN - i_compare = compare_data.lower_bound(-1); - CHECK(compare_data.end() == i_compare); - i_data = data.lower_bound(-1); CHECK(data.end() == i_data); - i_compare = compare_data.lower_bound(11); - i_data = data.lower_bound(11); - CHECK(i_data != data.end()); - - if ((i_data != data.end()) && (i_compare != compare_data.end())) - { - CHECK(*i_compare == *i_data); - } + i_data = data.lower_bound(99); + CHECK(i_data == data.begin()); #else - i_compare = compare_data.lower_bound(-1); i_data = data.lower_bound(-1); - CHECK_EQUAL(*i_compare, *i_data); + CHECK(data.begin() == i_data); - i_compare = compare_data.lower_bound(11); - CHECK_EQUAL(compare_data.end(), i_compare); - - i_data = data.lower_bound(11); - CHECK_EQUAL(data.end(), i_data); + i_data = data.lower_bound(99); + CHECK(i_data == data.end()); #endif } @@ -1087,25 +1074,17 @@ namespace CHECK_EQUAL(*i_compare, *i_data); #ifdef TEST_GREATER_THAN - i_compare = compare_data.lower_bound(-1); - CHECK(compare_data.end() == i_compare); - i_data = data.lower_bound(-1); CHECK(data.end() == i_data); - i_compare = compare_data.lower_bound(11); - i_data = data.lower_bound(11); - CHECK_EQUAL(*i_compare, *i_data); + i_data = data.lower_bound(99); + CHECK(i_data == data.begin()); #else - i_compare = compare_data.lower_bound(-1); i_data = data.lower_bound(-1); - CHECK_EQUAL(*i_compare, *i_data); + CHECK(data.begin() == i_data); - i_compare = compare_data.lower_bound(11); - CHECK_EQUAL(compare_data.end(), i_compare); - - i_data = data.lower_bound(11); - CHECK_EQUAL(data.end(), i_data); + i_data = data.lower_bound(99); + CHECK(i_data == data.end()); #endif } @@ -1144,25 +1123,17 @@ namespace CHECK_EQUAL(*i_compare, *i_data); #ifdef TEST_GREATER_THAN - i_compare = compare_data.upper_bound(-1); - CHECK(compare_data.end() == i_compare); - i_data = data.upper_bound(-1); CHECK(data.end() == i_data); - i_compare = compare_data.upper_bound(11); - i_data = data.upper_bound(11); - CHECK_EQUAL(*i_compare, *i_data); + i_data = data.upper_bound(99); + CHECK(i_data == data.begin()); #else - i_compare = compare_data.upper_bound(-1); i_data = data.upper_bound(-1); - CHECK_EQUAL(*i_compare, *i_data); + CHECK(data.begin() == i_data); - i_compare = compare_data.upper_bound(11); - CHECK_EQUAL(compare_data.end(), i_compare); - - i_data = data.upper_bound(11); - CHECK_EQUAL(data.end(), i_data); + i_data = data.upper_bound(99); + CHECK(i_data == data.end()); #endif } @@ -1201,25 +1172,17 @@ namespace CHECK_EQUAL(*i_compare, *i_data); #ifdef TEST_GREATER_THAN - i_compare = compare_data.upper_bound(-1); - CHECK(compare_data.end() == i_compare); - i_data = data.upper_bound(-1); CHECK(data.end() == i_data); - i_compare = compare_data.upper_bound(11); - i_data = data.upper_bound(11); - CHECK_EQUAL(*i_compare, *i_data); + i_data = data.upper_bound(99); + CHECK(i_data == data.begin()); #else - i_compare = compare_data.upper_bound(-1); i_data = data.upper_bound(-1); - CHECK_EQUAL(*i_compare, *i_data); + CHECK(data.begin() == i_data); - i_compare = compare_data.upper_bound(11); - CHECK_EQUAL(compare_data.end(), i_compare); - - i_data = data.upper_bound(11); - CHECK_EQUAL(data.end(), i_data); + i_data = data.upper_bound(99); + CHECK(i_data == data.end()); #endif }