| 22 | } |
| 23 | |
| 24 | void HDF5FilterTest::testImportDouble() { |
| 25 | Spreadsheet spreadsheet(QStringLiteral("test"), false); |
| 26 | HDF5Filter filter; |
| 27 | |
| 28 | const QString& fileName = QFINDTESTDATA(QLatin1String("data/hdf5_test.h5")); |
| 29 | filter.setCurrentDataSetName(QLatin1String("/arrays/2D float array")); |
| 30 | filter.readDataFromFile(fileName, &spreadsheet, AbstractFileFilter::ImportMode::Replace); |
| 31 | |
| 32 | QCOMPARE(spreadsheet.columnCount(), 50); |
| 33 | QCOMPARE(spreadsheet.rowCount(), 100); |
| 34 | for (int i = 0; i < spreadsheet.columnCount(); i++) { |
| 35 | QCOMPARE(spreadsheet.column(i)->columnMode(), AbstractColumn::ColumnMode::Double); |
| 36 | QCOMPARE(spreadsheet.column(i)->name(), QLatin1String("2D float array_") + QString::number(i + 1)); |
| 37 | } |
| 38 | |
| 39 | QCOMPARE(spreadsheet.column(0)->plotDesignation(), AbstractColumn::PlotDesignation::X); |
| 40 | for (int i = 1; i < spreadsheet.columnCount(); i++) |
| 41 | QCOMPARE(spreadsheet.column(i)->plotDesignation(), AbstractColumn::PlotDesignation::Y); |
| 42 | |
| 43 | for (int i = 0; i < 4; i++) |
| 44 | for (int j = 0; j < 4; j++) |
| 45 | DEBUG(std::setprecision(15) << spreadsheet.column(j)->valueAt(i)) |
| 46 | |
| 47 | QCOMPARE(spreadsheet.column(0)->valueAt(0), 0.000123456804431044); |
| 48 | QCOMPARE(spreadsheet.column(1)->valueAt(0), 0.001234499970451); |
| 49 | QCOMPARE(spreadsheet.column(2)->valueAt(0), 0); |
| 50 | QCOMPARE(spreadsheet.column(3)->valueAt(0), 0); |
| 51 | QCOMPARE(spreadsheet.column(0)->valueAt(1), 0); |
| 52 | QCOMPARE(spreadsheet.column(1)->valueAt(1), 0.899999976158142); |
| 53 | QCOMPARE(spreadsheet.column(2)->valueAt(1), 1.70000004768372); |
| 54 | QCOMPARE(spreadsheet.column(3)->valueAt(1), 2.59999990463257); |
| 55 | QCOMPARE(spreadsheet.column(0)->valueAt(2), 0); |
| 56 | QCOMPARE(spreadsheet.column(1)->valueAt(2), 1.70000004768372); |
| 57 | QCOMPARE(spreadsheet.column(2)->valueAt(2), 3.5); |
| 58 | QCOMPARE(spreadsheet.column(3)->valueAt(2), 5.19999980926514); |
| 59 | QCOMPARE(spreadsheet.column(0)->valueAt(3), 0.170000001788139); |
| 60 | QCOMPARE(spreadsheet.column(1)->valueAt(3), 2.59999990463257); |
| 61 | QCOMPARE(spreadsheet.column(2)->valueAt(3), 3.5); |
| 62 | QCOMPARE(spreadsheet.column(3)->valueAt(3), 7.80000019073486); |
| 63 | } |
| 64 | |
| 65 | void HDF5FilterTest::testImportDoublePortion() { |
| 66 | Spreadsheet spreadsheet(QStringLiteral("test"), false); |
nothing calls this directly
no test coverage detected