diff options
author | Tobias Hunger <tobias.hunger@qt.io> | 2017-11-27 11:31:15 +0100 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@qt.io> | 2017-11-27 15:00:16 +0000 |
commit | 566b118a873652bf9a5f7d72efcc379698ca9675 (patch) | |
tree | 0b0189bab34c920e9df05b9b0b0d7ff0f39fed84 /tests/auto/algorithm/tst_algorithm.cpp | |
parent | 750493a0eb5bd582aba6037496688bd2d9effed9 (diff) | |
download | qt-creator-566b118a873652bf9a5f7d72efcc379698ca9675.tar.gz |
Utils: Make algorithms take more containers
Change-Id: I05bd1052bbc2c6481fdec8a3763d9ae4f3dc8f44
Reviewed-by: hjk <hjk@qt.io>
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 | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/auto/algorithm/tst_algorithm.cpp b/tests/auto/algorithm/tst_algorithm.cpp index 47e05b4636..9a227eb1b5 100644 --- a/tests/auto/algorithm/tst_algorithm.cpp +++ b/tests/auto/algorithm/tst_algorithm.cpp @@ -25,6 +25,8 @@ #include <utils/algorithm.h> +#include <valarray> + #include <QtTest> class tst_Algorithm : public QObject @@ -151,6 +153,18 @@ void tst_Algorithm::sort() QList<Struct *> s6({&arr2[0], &arr2[1], &arr2[2]}); Utils::sort(s6, &Struct::member); QCOMPARE(s6, QList<Struct *>({&arr2[1], &arr2[2], &arr2[0]})); + // std::array: + std::array<int, 4> array = {{4, 10, 8, 1}}; + Utils::sort(array); + std::array<int, 4> arrayResult = {{1, 4, 8, 10}}; + QCOMPARE(array, arrayResult); + // valarray (no begin/end member functions): + std::valarray<int> valarray(array.data(), array.size()); + std::valarray<int> valarrayResult(arrayResult.data(), arrayResult.size()); + Utils::sort(valarray); + QCOMPARE(valarray.size(), valarrayResult.size()); + for (size_t i = 0; i < valarray.size(); ++i) + QCOMPARE(valarray[i], valarrayResult[i]); } QTEST_MAIN(tst_Algorithm) |