@@ -0,0 +1,72 | |||
|
1 | #include <DataSource/DataSourceItem.h> | |
|
2 | ||
|
3 | #include <QObject> | |
|
4 | #include <QtTest> | |
|
5 | ||
|
6 | #include <iostream> | |
|
7 | ||
|
8 | namespace { | |
|
9 | ||
|
10 | void printItem(std::ostream &out, const DataSourceItem &item, int level = 0) | |
|
11 | { | |
|
12 | for (auto i = 0; i < level; ++i) { | |
|
13 | out << " "; | |
|
14 | } | |
|
15 | ||
|
16 | out << item.name().toStdString() << "\n"; | |
|
17 | ||
|
18 | for (auto i = 0, count = item.childCount(); i < count; ++i) { | |
|
19 | printItem(out, *item.child(i), level + 1); | |
|
20 | } | |
|
21 | } | |
|
22 | ||
|
23 | std::ostream &operator<<(std::ostream &out, const DataSourceItem &item) | |
|
24 | { | |
|
25 | printItem(out, item, 0); | |
|
26 | return out; | |
|
27 | } | |
|
28 | ||
|
29 | } // namespace | |
|
30 | ||
|
31 | Q_DECLARE_METATYPE(std::shared_ptr<DataSourceItem>) | |
|
32 | ||
|
33 | class TestDataSourceItem : public QObject { | |
|
34 | Q_OBJECT | |
|
35 | private slots: | |
|
36 | void testMerge_data(); | |
|
37 | void testMerge(); | |
|
38 | }; | |
|
39 | ||
|
40 | void TestDataSourceItem::testMerge_data() | |
|
41 | { | |
|
42 | QTest::addColumn<std::shared_ptr<DataSourceItem> >("source"); | |
|
43 | QTest::addColumn<std::shared_ptr<DataSourceItem> >("dest"); | |
|
44 | QTest::addColumn<std::shared_ptr<DataSourceItem> >("expectedResult"); | |
|
45 | ||
|
46 | /// @todo ALX: adds test cases | |
|
47 | } | |
|
48 | ||
|
49 | void TestDataSourceItem::testMerge() | |
|
50 | { | |
|
51 | QFETCH(std::shared_ptr<DataSourceItem>, source); | |
|
52 | QFETCH(std::shared_ptr<DataSourceItem>, dest); | |
|
53 | QFETCH(std::shared_ptr<DataSourceItem>, expectedResult); | |
|
54 | ||
|
55 | // Uncomment to print trees | |
|
56 | // std::cout << "source: \n" << *source << "\n"; | |
|
57 | // std::cout << "dest: \n" << *dest << "\n"; | |
|
58 | ||
|
59 | // Merges source in dest (not taking source root) | |
|
60 | for (auto i = 0, count = source->childCount(); i < count; ++i) { | |
|
61 | dest->merge(*source->child(i)); | |
|
62 | } | |
|
63 | ||
|
64 | // Uncomment to print trees | |
|
65 | // std::cout << "dest after merge: \n" << *dest << "\n"; | |
|
66 | ||
|
67 | // Checks merge result | |
|
68 | QVERIFY(*dest == *expectedResult); | |
|
69 | } | |
|
70 | ||
|
71 | QTEST_MAIN(TestDataSourceItem) | |
|
72 | #include "TestDataSourceItem.moc" |
@@ -1,33 +1,34 | |||
|
1 | 1 | |
|
2 | 2 | |
|
3 | 3 | tests = [ |
|
4 | 4 | [['Common/TestStringUtils.cpp'],'test_string_utils','StringUtils test'], |
|
5 | 5 | [['Data/TestScalarSeries.cpp'],'test_scalar','ScalarSeries test'], |
|
6 | 6 | [['Data/TestSpectrogramSeries.cpp'],'test_spectrogram','SpectrogramSeries test'], |
|
7 | 7 | [['Data/TestVectorSeries.cpp'],'test_vector','VectorSeries test'], |
|
8 | 8 | [['Data/TestOneDimArrayData.cpp'],'test_1d','One Dim Array test'], |
|
9 | 9 | [['Data/TestOptionalAxis.cpp'],'test_optional_axis','OptionalAxis test'], |
|
10 | 10 | [['Data/TestTwoDimArrayData.cpp'],'test_2d','Two Dim Array test'], |
|
11 | 11 | [['Data/TestDataSeriesUtils.cpp'],'test_dataseries_util','Data series utils test'], |
|
12 | 12 | [['DataSource/TestDataSourceController.cpp'],'test_data_source','DataSourceController test'], |
|
13 | [['DataSource/TestDataSourceItem.cpp'],'test_data_source_item','DataSourceItem test'], | |
|
13 | 14 | [['Variable/TestVariableCacheController.cpp'],'test_variable_cache','VariableCacheController test'], |
|
14 | 15 | [['Variable/TestVariable.cpp'],'test_variable','Variable test'], |
|
15 | 16 | [['Variable/TestVariableSync.cpp'],'test_variable_sync','Variable synchronization test'] |
|
16 | 17 | ] |
|
17 | 18 | |
|
18 | 19 | amdatest_sources = [ |
|
19 | 20 | 'Data/DataSeriesBuilders.h', |
|
20 | 21 | 'Data/DataSeriesBuilders.cpp', |
|
21 | 22 | 'Data/DataSeriesTestsUtils.h', |
|
22 | 23 | 'Data/DataSeriesTestsUtils.cpp' |
|
23 | 24 | ] |
|
24 | 25 | |
|
25 | 26 | foreach unit_test : tests |
|
26 | 27 | test_moc_files = qt5.preprocess(moc_sources : unit_test[0]) |
|
27 | 28 | test_exe = executable(unit_test[1],unit_test[0] , test_moc_files, |
|
28 | 29 | dependencies : [sciqlop_core, qt5test], |
|
29 | 30 | cpp_args : ['-DCORE_TESTS_RESOURCES_DIR="'+meson.current_source_dir()+'/../tests-resources"'], |
|
30 | 31 | sources : [amdatest_sources]) |
|
31 | 32 | test(unit_test[2], test_exe, args: ['-teamcity', '-o', '@0@.teamcity.txt'.format(unit_test[1])]) |
|
32 | 33 | endforeach |
|
33 | 34 |
General Comments 0
You need to be logged in to leave comments.
Login now