##// END OF EJS Templates
Inits unit tests for merge
Alexandre Leroux -
r1039:2a1ef173f7ed
parent child
Show More
@@ -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 tests = [
3 tests = [
4 [['Common/TestStringUtils.cpp'],'test_string_utils','StringUtils test'],
4 [['Common/TestStringUtils.cpp'],'test_string_utils','StringUtils test'],
5 [['Data/TestScalarSeries.cpp'],'test_scalar','ScalarSeries test'],
5 [['Data/TestScalarSeries.cpp'],'test_scalar','ScalarSeries test'],
6 [['Data/TestSpectrogramSeries.cpp'],'test_spectrogram','SpectrogramSeries test'],
6 [['Data/TestSpectrogramSeries.cpp'],'test_spectrogram','SpectrogramSeries test'],
7 [['Data/TestVectorSeries.cpp'],'test_vector','VectorSeries test'],
7 [['Data/TestVectorSeries.cpp'],'test_vector','VectorSeries test'],
8 [['Data/TestOneDimArrayData.cpp'],'test_1d','One Dim Array test'],
8 [['Data/TestOneDimArrayData.cpp'],'test_1d','One Dim Array test'],
9 [['Data/TestOptionalAxis.cpp'],'test_optional_axis','OptionalAxis test'],
9 [['Data/TestOptionalAxis.cpp'],'test_optional_axis','OptionalAxis test'],
10 [['Data/TestTwoDimArrayData.cpp'],'test_2d','Two Dim Array test'],
10 [['Data/TestTwoDimArrayData.cpp'],'test_2d','Two Dim Array test'],
11 [['Data/TestDataSeriesUtils.cpp'],'test_dataseries_util','Data series utils test'],
11 [['Data/TestDataSeriesUtils.cpp'],'test_dataseries_util','Data series utils test'],
12 [['DataSource/TestDataSourceController.cpp'],'test_data_source','DataSourceController test'],
12 [['DataSource/TestDataSourceController.cpp'],'test_data_source','DataSourceController test'],
13 [['DataSource/TestDataSourceItem.cpp'],'test_data_source_item','DataSourceItem test'],
13 [['Variable/TestVariableCacheController.cpp'],'test_variable_cache','VariableCacheController test'],
14 [['Variable/TestVariableCacheController.cpp'],'test_variable_cache','VariableCacheController test'],
14 [['Variable/TestVariable.cpp'],'test_variable','Variable test'],
15 [['Variable/TestVariable.cpp'],'test_variable','Variable test'],
15 [['Variable/TestVariableSync.cpp'],'test_variable_sync','Variable synchronization test']
16 [['Variable/TestVariableSync.cpp'],'test_variable_sync','Variable synchronization test']
16 ]
17 ]
17
18
18 amdatest_sources = [
19 amdatest_sources = [
19 'Data/DataSeriesBuilders.h',
20 'Data/DataSeriesBuilders.h',
20 'Data/DataSeriesBuilders.cpp',
21 'Data/DataSeriesBuilders.cpp',
21 'Data/DataSeriesTestsUtils.h',
22 'Data/DataSeriesTestsUtils.h',
22 'Data/DataSeriesTestsUtils.cpp'
23 'Data/DataSeriesTestsUtils.cpp'
23 ]
24 ]
24
25
25 foreach unit_test : tests
26 foreach unit_test : tests
26 test_moc_files = qt5.preprocess(moc_sources : unit_test[0])
27 test_moc_files = qt5.preprocess(moc_sources : unit_test[0])
27 test_exe = executable(unit_test[1],unit_test[0] , test_moc_files,
28 test_exe = executable(unit_test[1],unit_test[0] , test_moc_files,
28 dependencies : [sciqlop_core, qt5test],
29 dependencies : [sciqlop_core, qt5test],
29 cpp_args : ['-DCORE_TESTS_RESOURCES_DIR="'+meson.current_source_dir()+'/../tests-resources"'],
30 cpp_args : ['-DCORE_TESTS_RESOURCES_DIR="'+meson.current_source_dir()+'/../tests-resources"'],
30 sources : [amdatest_sources])
31 sources : [amdatest_sources])
31 test(unit_test[2], test_exe, args: ['-teamcity', '-o', '@0@.teamcity.txt'.format(unit_test[1])])
32 test(unit_test[2], test_exe, args: ['-teamcity', '-o', '@0@.teamcity.txt'.format(unit_test[1])])
32 endforeach
33 endforeach
33
34
General Comments 0
You need to be logged in to leave comments. Login now