MCPcopy Create free account
hub / github.com/KDE/labplot / testSAVImport

Method testSAVImport

tests/import_export/ReadStat/ReadStatFilterTest.cpp:109–163  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

107}
108
109void ReadStatFilterTest::testSAVImport() {
110 Spreadsheet spreadsheet(QStringLiteral("test"), false);
111 ReadStatFilter filter;
112
113 const QString& fileName = QFINDTESTDATA(QLatin1String("data/iris.sav"));
114 const auto mode = AbstractFileFilter::ImportMode::Replace;
115 filter.readDataFromFile(fileName, &spreadsheet, mode);
116
117 QCOMPARE(spreadsheet.columnCount(), 5);
118 QCOMPARE(spreadsheet.rowCount(), 150);
119 QCOMPARE(spreadsheet.column(0)->columnMode(), AbstractColumn::ColumnMode::Double);
120 QCOMPARE(spreadsheet.column(1)->columnMode(), AbstractColumn::ColumnMode::Double);
121 QCOMPARE(spreadsheet.column(2)->columnMode(), AbstractColumn::ColumnMode::Double);
122 QCOMPARE(spreadsheet.column(3)->columnMode(), AbstractColumn::ColumnMode::Double);
123 QCOMPARE(spreadsheet.column(4)->columnMode(), AbstractColumn::ColumnMode::Double);
124
125 QCOMPARE(spreadsheet.column(0)->plotDesignation(), AbstractColumn::PlotDesignation::X);
126 QCOMPARE(spreadsheet.column(1)->plotDesignation(), AbstractColumn::PlotDesignation::Y);
127 QCOMPARE(spreadsheet.column(2)->plotDesignation(), AbstractColumn::PlotDesignation::Y);
128 QCOMPARE(spreadsheet.column(3)->plotDesignation(), AbstractColumn::PlotDesignation::Y);
129 QCOMPARE(spreadsheet.column(4)->plotDesignation(), AbstractColumn::PlotDesignation::Y);
130
131 QCOMPARE(spreadsheet.column(0)->name(), QLatin1String("Sepal.Length"));
132 QCOMPARE(spreadsheet.column(1)->name(), QLatin1String("Sepal.Width"));
133 QCOMPARE(spreadsheet.column(2)->name(), QLatin1String("Petal.Length"));
134 QCOMPARE(spreadsheet.column(3)->name(), QLatin1String("Petal.Width"));
135 QCOMPARE(spreadsheet.column(4)->name(), QLatin1String("Species : labels0"));
136
137 QCOMPARE(spreadsheet.column(0)->valueAt(0), 5.1);
138 QCOMPARE(spreadsheet.column(0)->valueAt(1), 4.9);
139 QCOMPARE(spreadsheet.column(0)->valueAt(2), 4.7);
140
141 QCOMPARE(spreadsheet.column(1)->valueAt(0), 3.5);
142 QCOMPARE(spreadsheet.column(2)->valueAt(0), 1.4);
143 QCOMPARE(spreadsheet.column(3)->valueAt(0), 0.2);
144 QCOMPARE(spreadsheet.column(4)->valueAt(0), 1);
145
146 QCOMPARE(spreadsheet.column(0)->valueAt(149), 5.9);
147 QCOMPARE(spreadsheet.column(1)->valueAt(149), 3.);
148 QCOMPARE(spreadsheet.column(2)->valueAt(149), 5.1);
149 QCOMPARE(spreadsheet.column(3)->valueAt(149), 1.8);
150 QCOMPARE(spreadsheet.column(4)->valueAt(149), 3);
151
152 // check value label
153 QVERIFY(spreadsheet.column(4)->valueLabels() != nullptr);
154 QCOMPARE(spreadsheet.column(4)->valueLabels()->count(), 3);
155 for (const auto& vl : *spreadsheet.column(4)->valueLabels()) {
156 if (vl.value == 1)
157 QCOMPARE(vl.label, QLatin1String("setosa"));
158 if (vl.value == 2)
159 QCOMPARE(vl.label, QLatin1String("versicolor"));
160 if (vl.value == 3)
161 QCOMPARE(vl.label, QLatin1String("virginica"));
162 }
163}
164
165void ReadStatFilterTest::testPORImport() {
166 Spreadsheet spreadsheet(QStringLiteral("test"), false);

Callers

nothing calls this directly

Calls 10

readDataFromFileMethod · 0.45
columnCountMethod · 0.45
rowCountMethod · 0.45
columnModeMethod · 0.45
columnMethod · 0.45
plotDesignationMethod · 0.45
nameMethod · 0.45
valueAtMethod · 0.45
valueLabelsMethod · 0.45
countMethod · 0.45

Tested by

no test coverage detected