| 15 | #include <KLocalizedString> |
| 16 | |
| 17 | void ReadStatFilterTest::testDTAImport() { |
| 18 | Spreadsheet spreadsheet(QStringLiteral("test"), false); |
| 19 | ReadStatFilter filter; |
| 20 | |
| 21 | const QString& fileName = QFINDTESTDATA(QLatin1String("data/iris.dta")); |
| 22 | const auto mode = AbstractFileFilter::ImportMode::Replace; |
| 23 | filter.readDataFromFile(fileName, &spreadsheet, mode); |
| 24 | |
| 25 | QCOMPARE(spreadsheet.columnCount(), 5); |
| 26 | QCOMPARE(spreadsheet.rowCount(), 150); |
| 27 | QCOMPARE(spreadsheet.column(0)->columnMode(), AbstractColumn::ColumnMode::Double); |
| 28 | QCOMPARE(spreadsheet.column(1)->columnMode(), AbstractColumn::ColumnMode::Double); |
| 29 | QCOMPARE(spreadsheet.column(2)->columnMode(), AbstractColumn::ColumnMode::Double); |
| 30 | QCOMPARE(spreadsheet.column(3)->columnMode(), AbstractColumn::ColumnMode::Double); |
| 31 | QCOMPARE(spreadsheet.column(4)->columnMode(), AbstractColumn::ColumnMode::Text); |
| 32 | |
| 33 | QCOMPARE(spreadsheet.column(0)->plotDesignation(), AbstractColumn::PlotDesignation::X); |
| 34 | QCOMPARE(spreadsheet.column(1)->plotDesignation(), AbstractColumn::PlotDesignation::Y); |
| 35 | QCOMPARE(spreadsheet.column(2)->plotDesignation(), AbstractColumn::PlotDesignation::Y); |
| 36 | QCOMPARE(spreadsheet.column(3)->plotDesignation(), AbstractColumn::PlotDesignation::Y); |
| 37 | QCOMPARE(spreadsheet.column(4)->plotDesignation(), AbstractColumn::PlotDesignation::Y); |
| 38 | |
| 39 | QCOMPARE(spreadsheet.column(0)->name(), QLatin1String("sepallength")); |
| 40 | QCOMPARE(spreadsheet.column(1)->name(), QLatin1String("sepalwidth")); |
| 41 | QCOMPARE(spreadsheet.column(2)->name(), QLatin1String("petallength")); |
| 42 | QCOMPARE(spreadsheet.column(3)->name(), QLatin1String("petalwidth")); |
| 43 | QCOMPARE(spreadsheet.column(4)->name(), QLatin1String("species")); |
| 44 | |
| 45 | FuzzyCompare(spreadsheet.column(0)->valueAt(0), 5.1, 1.e-6); // 5.09999990463 |
| 46 | FuzzyCompare(spreadsheet.column(0)->valueAt(1), 4.9, 1.e-7); // 4.90000009537 |
| 47 | FuzzyCompare(spreadsheet.column(0)->valueAt(2), 4.7, 1.e-7); // 4.69999980927 |
| 48 | |
| 49 | QCOMPARE(spreadsheet.column(1)->valueAt(0), 3.5); |
| 50 | FuzzyCompare(spreadsheet.column(2)->valueAt(0), 1.4, 1.e-7); // 1.39999997616 |
| 51 | FuzzyCompare(spreadsheet.column(3)->valueAt(0), 0.2, 1.e-7); // 0.20000000298 |
| 52 | QCOMPARE(spreadsheet.column(4)->textAt(0), QLatin1String("setosa")); |
| 53 | |
| 54 | DEBUG(Q_FUNC_INFO << ", value = " << spreadsheet.column(0)->valueAt(149)) |
| 55 | DEBUG(Q_FUNC_INFO << ", value = " << spreadsheet.column(2)->valueAt(149)) |
| 56 | DEBUG(Q_FUNC_INFO << ", value = " << spreadsheet.column(3)->valueAt(149)) |
| 57 | |
| 58 | FuzzyCompare(spreadsheet.column(0)->valueAt(149), 5.9, 1.e-7); // 5.90000009536743 |
| 59 | QCOMPARE(spreadsheet.column(1)->valueAt(149), 3.); |
| 60 | FuzzyCompare(spreadsheet.column(2)->valueAt(149), 5.1, 1.e-7); // 5.09999990463257 |
| 61 | FuzzyCompare(spreadsheet.column(3)->valueAt(149), 1.8, 1.e-7); // 1.79999995231628 |
| 62 | QCOMPARE(spreadsheet.column(4)->textAt(149), QLatin1String("virginica")); |
| 63 | } |
| 64 | |
| 65 | void ReadStatFilterTest::testSASImport() { |
| 66 | Spreadsheet spreadsheet(QStringLiteral("test"), false); |
nothing calls this directly
no test coverage detected