From 2c09424c13a0bf4d63feca096d4170bca36293af Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Fri, 1 Dec 2017 11:22:58 +0100 Subject: Utils: Clean up Utils::findOr and Utils::findOrDefault Change-Id: I638e68480d3985b6df9a18aa96a067ee68484b12 Reviewed-by: Eike Ziller --- tests/auto/algorithm/tst_algorithm.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'tests/auto/algorithm/tst_algorithm.cpp') diff --git a/tests/auto/algorithm/tst_algorithm.cpp b/tests/auto/algorithm/tst_algorithm.cpp index 1f54294c2d..7ae01b91be 100644 --- a/tests/auto/algorithm/tst_algorithm.cpp +++ b/tests/auto/algorithm/tst_algorithm.cpp @@ -320,6 +320,15 @@ void tst_Algorithm::findOr() Struct defS(6); QCOMPARE(Utils::findOr(v3, &defS, &Struct::isOdd), v3.at(0).get()); QCOMPARE(Utils::findOr(v3, &defS, &Struct::isEven), &defS); + + std::vector> v4; + v4.emplace_back(std::make_shared(1)); + v4.emplace_back(std::make_shared(3)); + v4.emplace_back(std::make_shared(5)); + v4.emplace_back(std::make_shared(7)); + std::shared_ptr sharedDefS = std::make_shared(6); + QCOMPARE(Utils::findOr(v4, sharedDefS, &Struct::isOdd), v4.at(0)); + QCOMPARE(Utils::findOr(v4, sharedDefS, &Struct::isEven), sharedDefS); } void tst_Algorithm::findOrDefault() @@ -340,7 +349,15 @@ void tst_Algorithm::findOrDefault() v3.emplace_back(std::make_unique(5)); v3.emplace_back(std::make_unique(7)); QCOMPARE(Utils::findOrDefault(v3, &Struct::isOdd), v3.at(0).get()); - QCOMPARE(Utils::findOrDefault(v3, &Struct::isEven), static_cast(0)); + QCOMPARE(Utils::findOrDefault(v3, &Struct::isEven), static_cast(nullptr)); + + std::vector> v4; + v4.emplace_back(std::make_shared(1)); + v4.emplace_back(std::make_shared(3)); + v4.emplace_back(std::make_shared(5)); + v4.emplace_back(std::make_shared(7)); + QCOMPARE(Utils::findOrDefault(v4, &Struct::isOdd), v4.at(0)); + QCOMPARE(Utils::findOrDefault(v4, &Struct::isEven), std::shared_ptr()); } QTEST_MAIN(tst_Algorithm) -- cgit v1.2.1