diff options
Diffstat (limited to 'pstl/test/std/algorithms/alg.merge/inplace_merge.pass.cpp')
-rw-r--r-- | pstl/test/std/algorithms/alg.merge/inplace_merge.pass.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/pstl/test/std/algorithms/alg.merge/inplace_merge.pass.cpp b/pstl/test/std/algorithms/alg.merge/inplace_merge.pass.cpp index 74ecc0c..f2cc404 100644 --- a/pstl/test/std/algorithms/alg.merge/inplace_merge.pass.cpp +++ b/pstl/test/std/algorithms/alg.merge/inplace_merge.pass.cpp @@ -147,6 +147,13 @@ main() test_algo_basic_single<int32_t>(run_for_rnd_bi<test_non_const<int32_t>>()); + test_by_type<MemoryChecker>( + [](std::size_t idx){ return MemoryChecker{std::int32_t(idx * 2)}; }, + [](std::size_t idx){ return MemoryChecker{std::int32_t(idx * 2 + 1)}; }, + [](const MemoryChecker& val1, const MemoryChecker& val2){ return val1.value() == val2.value(); }); + EXPECT_FALSE(MemoryChecker::alive_objects() < 0, "wrong effect from inplace_merge: number of ctors calls < num of dtors calls"); + EXPECT_FALSE(MemoryChecker::alive_objects() > 0, "wrong effect from inplace_merge: number of ctors calls > num of dtors calls"); + std::cout << done() << std::endl; return 0; } |