aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/algorithm
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@qt.io>2017-12-01 11:22:58 +0100
committerTobias Hunger <tobias.hunger@qt.io>2017-12-01 14:41:15 +0000
commit2c09424c13a0bf4d63feca096d4170bca36293af (patch)
tree41d26d685eaab016f8135773f6ba81c8f32f4c23 /tests/auto/algorithm
parentb81d788793c4845782487cdd58eae3de82489261 (diff)
Utils: Clean up Utils::findOr and Utils::findOrDefault
Change-Id: I638e68480d3985b6df9a18aa96a067ee68484b12 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'tests/auto/algorithm')
-rw-r--r--tests/auto/algorithm/tst_algorithm.cpp19
1 files changed, 18 insertions, 1 deletions
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<std::shared_ptr<Struct>> v4;
+ v4.emplace_back(std::make_shared<Struct>(1));
+ v4.emplace_back(std::make_shared<Struct>(3));
+ v4.emplace_back(std::make_shared<Struct>(5));
+ v4.emplace_back(std::make_shared<Struct>(7));
+ std::shared_ptr<Struct> sharedDefS = std::make_shared<Struct>(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<Struct>(5));
v3.emplace_back(std::make_unique<Struct>(7));
QCOMPARE(Utils::findOrDefault(v3, &Struct::isOdd), v3.at(0).get());
- QCOMPARE(Utils::findOrDefault(v3, &Struct::isEven), static_cast<Struct*>(0));
+ QCOMPARE(Utils::findOrDefault(v3, &Struct::isEven), static_cast<Struct*>(nullptr));
+
+ std::vector<std::shared_ptr<Struct>> v4;
+ v4.emplace_back(std::make_shared<Struct>(1));
+ v4.emplace_back(std::make_shared<Struct>(3));
+ v4.emplace_back(std::make_shared<Struct>(5));
+ v4.emplace_back(std::make_shared<Struct>(7));
+ QCOMPARE(Utils::findOrDefault(v4, &Struct::isOdd), v4.at(0));
+ QCOMPARE(Utils::findOrDefault(v4, &Struct::isEven), std::shared_ptr<Struct>());
}
QTEST_MAIN(tst_Algorithm)