@@ -0,0 +1,85 | |||
|
1 | /*------------------------------------------------------------------------------ | |
|
2 | -- This file is a part of the SciQLOP Software | |
|
3 | -- Copyright (C) 2018, Plasma Physics Laboratory - CNRS | |
|
4 | -- | |
|
5 | -- This program is free software; you can redistribute it and/or modify | |
|
6 | -- it under the terms of the GNU General Public License as published by | |
|
7 | -- the Free Software Foundation; either version 2 of the License, or | |
|
8 | -- (at your option) any later version. | |
|
9 | -- | |
|
10 | -- This program is distributed in the hope that it will be useful, | |
|
11 | -- but WITHOUT ANY WARRANTY; without even the implied warranty of | |
|
12 | -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
|
13 | -- GNU General Public License for more details. | |
|
14 | -- | |
|
15 | -- You should have received a copy of the GNU General Public License | |
|
16 | -- along with this program; if not, write to the Free Software | |
|
17 | -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
|
18 | -------------------------------------------------------------------------------*/ | |
|
19 | /*-- Author : Alexis Jeandet | |
|
20 | -- Mail : alexis.jeandet@member.fsf.org | |
|
21 | ----------------------------------------------------------------------------*/ | |
|
22 | #include <string> | |
|
23 | #include <sstream> | |
|
24 | #include <memory> | |
|
25 | ||
|
26 | #include <pybind11/pybind11.h> | |
|
27 | #include <pybind11/operators.h> | |
|
28 | #include <pybind11/embed.h> | |
|
29 | #include <pybind11/numpy.h> | |
|
30 | #include <pybind11/chrono.h> | |
|
31 | ||
|
32 | #include <SqpApplication.h> | |
|
33 | #include <Variable/VariableController2.h> | |
|
34 | #include <Time/TimeController.h> | |
|
35 | #include <Data/DateTimeRange.h> | |
|
36 | #include <Data/DataSeriesType.h> | |
|
37 | #include <Common/DateUtils.h> | |
|
38 | #include <Variable/Variable.h> | |
|
39 | #include <Data/ScalarSeries.h> | |
|
40 | #include <Data/VectorSeries.h> | |
|
41 | ||
|
42 | #include <MockPlugin.h> | |
|
43 | #include <CosinusProvider.h> | |
|
44 | ||
|
45 | #include <QFile> | |
|
46 | ||
|
47 | #include <pywrappers_common.h> | |
|
48 | #include <CoreWrappers.h> | |
|
49 | ||
|
50 | ||
|
51 | ||
|
52 | using namespace std::chrono; | |
|
53 | namespace py = pybind11; | |
|
54 | ||
|
55 | ||
|
56 | ||
|
57 | PYBIND11_MODULE(pytestmockplugin, m){ | |
|
58 | ||
|
59 | int argc = 0; | |
|
60 | char ** argv=nullptr; | |
|
61 | SqpApplication::setOrganizationName("LPP"); | |
|
62 | SqpApplication::setOrganizationDomain("lpp.fr"); | |
|
63 | SqpApplication::setApplicationName("SciQLop"); | |
|
64 | static SqpApplication app(argc, argv); | |
|
65 | ||
|
66 | auto qtmod = py::module::import("sciqlopqt"); | |
|
67 | auto sciqlopmod = py::module::import("pysciqlopcore"); | |
|
68 | ||
|
69 | m.doc() = ""; | |
|
70 | ||
|
71 | py::class_<VariableController2>(m, "VariableController2").def_static("createVariable",[](const QString &name, | |
|
72 | std::shared_ptr<IDataProvider> provider, const DateTimeRange& range){ | |
|
73 | return sqpApp->variableController().createVariable(name, {{"cosinusType", "spectrogram"}, {"cosinusFrequency", "1.0"}}, provider, range); | |
|
74 | }); | |
|
75 | ||
|
76 | py::class_<TimeController>(m,"TimeController") | |
|
77 | .def_static("setTime", [](DateTimeRange range){sqpApp->timeController().setDateTimeRange(range);}); | |
|
78 | ||
|
79 | auto mock_provider = std::make_shared<CosinusProvider>(); | |
|
80 | m.def("mock_provider",[mock_provider](){return mock_provider;}, py::return_value_policy::copy); | |
|
81 | ||
|
82 | py::class_<CosinusProvider, std::shared_ptr<CosinusProvider>, IDataProvider>(m, "CosinusProvider"); | |
|
83 | ||
|
84 | } | |
|
85 |
@@ -1,1 +1,1 | |||
|
1 | Subproject commit cc47cd67a7b3418c7c0b065e7cb178abb63b0036 | |
|
1 | Subproject commit 70eb884a0ee3f19fb2a7dc91d2f25f6348d4167d |
@@ -26,4 +26,6 include(sciqlop_tests) | |||
|
26 | 26 | add_definitions(-DMOCKPLUGIN_TESTS_RESOURCES_DIR="${CMAKE_CURRENT_LIST_DIR}/tests-resources") |
|
27 | 27 | |
|
28 | 28 | #declare_test(TestCosinusAcquisition TestCosinusAcquisition tests/TestCosinusAcquisition.cpp "mockplugin;Qt5::Test") |
|
29 | ||
|
29 | pybind11_add_module(pytestmockplugin tests/PyTestMockPluginWrapper.cpp) | |
|
30 | target_link_libraries(pytestmockplugin PUBLIC mockplugin) | |
|
31 | target_link_libraries(pytestmockplugin PUBLIC pysciqlop) |
General Comments 0
You need to be logged in to leave comments.
Login now