diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-01-10 13:18:54 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-01-11 13:18:25 +0100 |
commit | 697b3cf1ac45e1cb511a7e395c32cfa8b85780b5 (patch) | |
tree | 54caff725c7b5a404375032ce54278812f2f0fa0 /sources/shiboken6/tests/libminimal | |
parent | 5b317460b0f2938ede7c194d9129448810943c02 (diff) |
shiboken6/libminimal: Add a test for std::vector
Start a containeruser class and test for simple, sequential containers.
Change-Id: I4a88787442c3c899523e9da51474916ca1312897
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Diffstat (limited to 'sources/shiboken6/tests/libminimal')
-rw-r--r-- | sources/shiboken6/tests/libminimal/CMakeLists.txt | 1 | ||||
-rw-r--r-- | sources/shiboken6/tests/libminimal/containeruser.cpp | 35 | ||||
-rw-r--r-- | sources/shiboken6/tests/libminimal/containeruser.h | 28 |
3 files changed, 64 insertions, 0 deletions
diff --git a/sources/shiboken6/tests/libminimal/CMakeLists.txt b/sources/shiboken6/tests/libminimal/CMakeLists.txt index f906bdb84..1b14d5697 100644 --- a/sources/shiboken6/tests/libminimal/CMakeLists.txt +++ b/sources/shiboken6/tests/libminimal/CMakeLists.txt @@ -1,6 +1,7 @@ project(libminimal) set(libminimal_SRC +containeruser.cpp obj.cpp listuser.cpp typedef.cpp diff --git a/sources/shiboken6/tests/libminimal/containeruser.cpp b/sources/shiboken6/tests/libminimal/containeruser.cpp new file mode 100644 index 000000000..78fc7a045 --- /dev/null +++ b/sources/shiboken6/tests/libminimal/containeruser.cpp @@ -0,0 +1,35 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 + +#include "containeruser.h" + +#include <algorithm> +#include <numeric> + +ContainerUser::ContainerUser() : m_intVector{1, 2, 3} +{ +} + +ContainerUser::~ContainerUser() = default; + +std::vector<int> ContainerUser::createIntVector(int num) +{ + std::vector<int> retval(num); + std::iota(retval.begin(), retval.end(), 0); + return retval; +} + +int ContainerUser::sumIntVector(const std::vector<int> &intVector) +{ + return std::accumulate(intVector.cbegin(), intVector.cend(), 0); +} + +std::vector<int> &ContainerUser::intVector() +{ + return m_intVector; +} + +void ContainerUser::setIntVector(const std::vector<int> &v) +{ + m_intVector = v; +} diff --git a/sources/shiboken6/tests/libminimal/containeruser.h b/sources/shiboken6/tests/libminimal/containeruser.h new file mode 100644 index 000000000..4cb4df0b9 --- /dev/null +++ b/sources/shiboken6/tests/libminimal/containeruser.h @@ -0,0 +1,28 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 + +#ifndef CONTAINERUSER_H +#define CONTAINERUSER_H + +#include "libminimalmacros.h" + +#include <vector> + +/// Exercise simple, sequential containers. More advanced tests are in ListUser +class LIBMINIMAL_API ContainerUser +{ +public: + ContainerUser(); + ~ContainerUser(); + + static std::vector<int> createIntVector(int num); + static int sumIntVector(const std::vector<int> &intVector); + + std::vector<int> &intVector(); + void setIntVector(const std::vector<int> &); + +private: + std::vector<int> m_intVector; +}; + +#endif // CONTAINERUSER_H |