diff options
author | Tobias Hunger <tobias.hunger@qt.io> | 2017-12-01 11:22:58 +0100 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@qt.io> | 2017-12-01 14:41:15 +0000 |
commit | 2c09424c13a0bf4d63feca096d4170bca36293af (patch) | |
tree | 41d26d685eaab016f8135773f6ba81c8f32f4c23 /tests/auto/algorithm/tst_algorithm.cpp | |
parent | b81d788793c4845782487cdd58eae3de82489261 (diff) | |
download | qt-creator-2c09424c13a0bf4d63feca096d4170bca36293af.tar.gz |
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/tst_algorithm.cpp')
-rw-r--r-- | tests/auto/algorithm/tst_algorithm.cpp | 19 |
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) |