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

Method testArrayImport

tests/import_export/MCAP/MCAPFilterTest.cpp:18–98  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

16#include <QTemporaryFile>
17
18void MCAPFilterTest::testArrayImport() {
19 // This mcap file has one topic with name: integer_topic with 10 entries
20 // Its encoded in json schema, so each entry looks like this: {"value": n } with n from 0 to 9
21 // mcap info basic.mcap
22 // library: python mcap 1.1.1
23 // profile:
24 // messages: 10
25 // duration: 9h0m0s
26 // start: 0.000000000
27 // end: 32400.000000000
28 // compression: {none,lz4 or zstd}
29 // : [1/1 chunks] [575.00 B/575.00 B (0.00%)] [0.00 B/sec]
30 // channels:
31 // (1) integer_topic 10 msgs (0.00 Hz) : sample [jsonschema]
32 // attachments: 0
33 // metadata: 0
34
35 QVector<QString> compression_types = {QLatin1String("data/basic_NONE.mcap")};
36#ifdef HAVE_LZ4
37 compression_types.append(QLatin1String("data/basic_LZ4.mcap"));
38#endif
39#ifdef HAVE_ZSTD
40 compression_types.append(QLatin1String("data/basic_ZSTD.mcap"));
41#endif
42
43 for (const QString& file : compression_types) {
44 Spreadsheet spreadsheet(QStringLiteral("test"), false);
45 McapFilter filter;
46
47 const QString& fileName = QFINDTESTDATA(file);
48
49 AbstractFileFilter::ImportMode mode = AbstractFileFilter::ImportMode::Replace;
50 filter.setCreateIndexEnabled(true);
51 filter.setDataRowType(QJsonValue::Object);
52 filter.setDateTimeFormat(QLatin1String("yyyy-MM-dd"));
53 filter.readDataFromFile(fileName, &spreadsheet, mode);
54
55 QCOMPARE(spreadsheet.columnCount(), 5);
56 QCOMPARE(spreadsheet.rowCount(), 10);
57 QCOMPARE(spreadsheet.column(0)->columnMode(), AbstractColumn::ColumnMode::Integer); // Index
58 QCOMPARE(spreadsheet.column(1)->columnMode(), AbstractColumn::ColumnMode::DateTime); // LogTime
59 QCOMPARE(spreadsheet.column(2)->columnMode(), AbstractColumn::ColumnMode::DateTime); // PublishTime
60 QCOMPARE(spreadsheet.column(3)->columnMode(), AbstractColumn::ColumnMode::Integer); // Sequence
61 QCOMPARE(spreadsheet.column(4)->columnMode(), AbstractColumn::ColumnMode::Double); // Value
62
63 QCOMPARE(spreadsheet.column(0)->plotDesignation(), AbstractColumn::PlotDesignation::X);
64 QCOMPARE(spreadsheet.column(1)->plotDesignation(), AbstractColumn::PlotDesignation::Y);
65 QCOMPARE(spreadsheet.column(2)->plotDesignation(), AbstractColumn::PlotDesignation::Y);
66
67 QCOMPARE(spreadsheet.column(0)->name(), i18n("index"));
68 QCOMPARE(spreadsheet.column(1)->name(), QLatin1String("logTime"));
69 QCOMPARE(spreadsheet.column(2)->name(), QLatin1String("publishTime"));
70 QCOMPARE(spreadsheet.column(3)->name(), QLatin1String("sequence"));
71 QCOMPARE(spreadsheet.column(4)->name(), QLatin1String("value"));
72
73 // Check Sequence
74 QCOMPARE(spreadsheet.column(3)->valueAt(0), 0);
75 QCOMPARE(spreadsheet.column(3)->valueAt(1), 1);

Callers

nothing calls this directly

Calls 13

appendMethod · 0.80
setCreateIndexEnabledMethod · 0.45
setDataRowTypeMethod · 0.45
setDateTimeFormatMethod · 0.45
readDataFromFileMethod · 0.45
columnCountMethod · 0.45
rowCountMethod · 0.45
columnModeMethod · 0.45
columnMethod · 0.45
plotDesignationMethod · 0.45
nameMethod · 0.45
valueAtMethod · 0.45

Tested by

no test coverage detected