diff --git a/libs/core/algorithms/tests/unit/algorithms/max_element.cpp b/libs/core/algorithms/tests/unit/algorithms/max_element.cpp index ea32980a7de..b66ef6ad1ee 100644 --- a/libs/core/algorithms/tests/unit/algorithms/max_element.cpp +++ b/libs/core/algorithms/tests/unit/algorithms/max_element.cpp @@ -23,7 +23,7 @@ void test_max_element(IteratorTag) typedef std::vector::iterator base_iterator; typedef test::test_iterator iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); iterator end(std::end(c)); base_iterator ref_end(std::end(c)); @@ -54,7 +54,7 @@ void test_max_element(ExPolicy policy, IteratorTag) typedef std::vector::iterator base_iterator; typedef test::test_iterator iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); iterator end(std::end(c)); base_iterator ref_end(std::end(c)); @@ -83,7 +83,7 @@ void test_max_element_async(ExPolicy p, IteratorTag) typedef std::vector::iterator base_iterator; typedef test::test_iterator iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); iterator end(std::end(c)); base_iterator ref_end(std::end(c)); @@ -135,7 +135,7 @@ void test_max_element_exception(IteratorTag) typedef test::decorated_iterator decorated_iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); { bool caught_exception = false; @@ -194,7 +194,7 @@ void test_max_element_exception(ExPolicy policy, IteratorTag) typedef test::decorated_iterator decorated_iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); { bool caught_exception = false; @@ -250,7 +250,7 @@ void test_max_element_exception_async(ExPolicy p, IteratorTag) typedef test::decorated_iterator decorated_iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); { bool returned_from_algorithm = false; @@ -345,7 +345,7 @@ void test_max_element_bad_alloc(IteratorTag) typedef test::decorated_iterator decorated_iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); { bool caught_exception = false; @@ -400,7 +400,7 @@ void test_max_element_bad_alloc(ExPolicy policy, IteratorTag) typedef test::decorated_iterator decorated_iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); { bool caught_exception = false; @@ -454,7 +454,7 @@ void test_max_element_bad_alloc_async(ExPolicy p, IteratorTag) typedef test::decorated_iterator decorated_iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); { bool returned_from_algorithm = false; diff --git a/libs/core/algorithms/tests/unit/algorithms/min_element.cpp b/libs/core/algorithms/tests/unit/algorithms/min_element.cpp index 88f2c6d395c..1917bf847b2 100644 --- a/libs/core/algorithms/tests/unit/algorithms/min_element.cpp +++ b/libs/core/algorithms/tests/unit/algorithms/min_element.cpp @@ -24,7 +24,7 @@ void test_min_element(IteratorTag) typedef std::vector::iterator base_iterator; typedef test::test_iterator iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); iterator end(std::end(c)); base_iterator ref_end(std::end(c)); @@ -55,7 +55,7 @@ void test_min_element(ExPolicy policy, IteratorTag) typedef std::vector::iterator base_iterator; typedef test::test_iterator iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); iterator end(std::end(c)); base_iterator ref_end(std::end(c)); @@ -84,7 +84,7 @@ void test_min_element_async(ExPolicy p, IteratorTag) typedef std::vector::iterator base_iterator; typedef test::test_iterator iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); iterator end(std::end(c)); base_iterator ref_end(std::end(c)); @@ -136,7 +136,7 @@ void test_min_element_exception(IteratorTag) typedef test::decorated_iterator decorated_iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); { bool caught_exception = false; @@ -195,7 +195,7 @@ void test_min_element_exception(ExPolicy policy, IteratorTag) typedef test::decorated_iterator decorated_iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); { bool caught_exception = false; @@ -251,7 +251,7 @@ void test_min_element_exception_async(ExPolicy p, IteratorTag) typedef test::decorated_iterator decorated_iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); { bool returned_from_algorithm = false; @@ -346,7 +346,7 @@ void test_min_element_bad_alloc(IteratorTag) typedef test::decorated_iterator decorated_iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); { bool caught_exception = false; @@ -401,7 +401,7 @@ void test_min_element_bad_alloc(ExPolicy policy, IteratorTag) typedef test::decorated_iterator decorated_iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); { bool caught_exception = false; @@ -455,7 +455,7 @@ void test_min_element_bad_alloc_async(ExPolicy p, IteratorTag) typedef test::decorated_iterator decorated_iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); { bool returned_from_algorithm = false; diff --git a/libs/core/algorithms/tests/unit/algorithms/minmax_element.cpp b/libs/core/algorithms/tests/unit/algorithms/minmax_element.cpp index f4cd68ad6a6..0214404dacc 100644 --- a/libs/core/algorithms/tests/unit/algorithms/minmax_element.cpp +++ b/libs/core/algorithms/tests/unit/algorithms/minmax_element.cpp @@ -25,7 +25,7 @@ void test_minmax_element(IteratorTag) typedef std::vector::iterator base_iterator; typedef test::test_iterator iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); iterator end(std::end(c)); base_iterator ref_end(std::end(c)); @@ -60,7 +60,7 @@ void test_minmax_element(ExPolicy policy, IteratorTag) typedef std::vector::iterator base_iterator; typedef test::test_iterator iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); iterator end(std::end(c)); base_iterator ref_end(std::end(c)); @@ -93,7 +93,7 @@ void test_minmax_element_async(ExPolicy p, IteratorTag) typedef std::vector::iterator base_iterator; typedef test::test_iterator iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); iterator end(std::end(c)); base_iterator ref_end(std::end(c)); @@ -149,7 +149,7 @@ void test_minmax_element_exception(IteratorTag) typedef test::decorated_iterator decorated_iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); { bool caught_exception = false; @@ -208,7 +208,7 @@ void test_minmax_element_exception(ExPolicy policy, IteratorTag) typedef test::decorated_iterator decorated_iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); { bool caught_exception = false; @@ -264,7 +264,7 @@ void test_minmax_element_exception_async(ExPolicy p, IteratorTag) typedef test::decorated_iterator decorated_iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); { bool returned_from_algorithm = false; @@ -359,7 +359,7 @@ void test_minmax_element_bad_alloc(IteratorTag) typedef test::decorated_iterator decorated_iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); { bool caught_exception = false; @@ -414,7 +414,7 @@ void test_minmax_element_bad_alloc(ExPolicy policy, IteratorTag) typedef test::decorated_iterator decorated_iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); { bool caught_exception = false; @@ -468,7 +468,7 @@ void test_minmax_element_bad_alloc_async(ExPolicy p, IteratorTag) typedef test::decorated_iterator decorated_iterator; - std::vector c = test::random_iota(10007); + std::vector c = test::random_repeat(10007); { bool returned_from_algorithm = false; diff --git a/libs/core/algorithms/tests/unit/algorithms/test_utils.hpp b/libs/core/algorithms/tests/unit/algorithms/test_utils.hpp index 1befa9bde1e..dda6bc3ba03 100644 --- a/libs/core/algorithms/tests/unit/algorithms/test_utils.hpp +++ b/libs/core/algorithms/tests/unit/algorithms/test_utils.hpp @@ -198,6 +198,17 @@ namespace test { return c; } + inline std::vector random_repeat(std::size_t size) + { + std::vector c(size); + std::random_device rd; + std::mt19937 g(rd()); + std::uniform_int_distribution uni(0, (size - 1) / 2); + for (auto& x : c) + x = uni(g); + return c; + } + template inline std::vector random_iota(std::size_t size) {