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

Method testSortDateTime2

tests/spreadsheet/SpreadsheetTest.cpp:1126–1163  ·  view source on GitHub ↗

* check sorting datetimes with invalid entries descending as leading column */

Source from the content-addressed store, hash-verified

1124 * check sorting datetimes with invalid entries descending as leading column
1125 */
1126void SpreadsheetTest::testSortDateTime2() {
1127 const QVector<QDateTime> xData{
1128 QDateTime(QDate(2020, 02, 29), QTime(12, 12, 12)),
1129 QDateTime(QDate(2020, 02, 28), QTime(12, 12, 12)),
1130 QDateTime(QDate(2019, 02, 28), QTime(12, 12, 12)),
1131 QDateTime(QDate(2019, 02, 29), QTime(12, 12, 12)), // invalid
1132 QDateTime(QDate(2020, 02, 29), QTime(12, 12, 13)),
1133 QDateTime(QDate(2020, 02, 29), QTime(11, 12, 12)),
1134 };
1135 const QVector<int> yData = {1, 2, 3, 4, 5, 6, 7};
1136
1137 Spreadsheet sheet(QStringLiteral("test"), false);
1138 sheet.setColumnCount(2);
1139 sheet.setRowCount(8);
1140 auto* col0{sheet.column(0)};
1141 auto* col1{sheet.column(1)};
1142 col0->setColumnMode(AbstractColumn::ColumnMode::DateTime);
1143 col0->replaceDateTimes(0, xData);
1144 col1->setColumnMode(AbstractColumn::ColumnMode::Integer);
1145 col1->replaceInteger(0, yData);
1146
1147 // sort
1148 sheet.sortColumns(col0, {col0, col1}, false);
1149
1150 // values
1151 QCOMPARE(col0->dateTimeAt(4), QDateTime(QDate(2019, 02, 28), QTime(12, 12, 12)));
1152 QCOMPARE(col0->dateTimeAt(3), QDateTime(QDate(2020, 02, 28), QTime(12, 12, 12)));
1153 QCOMPARE(col0->dateTimeAt(2), QDateTime(QDate(2020, 02, 29), QTime(11, 12, 12)));
1154 QCOMPARE(col0->dateTimeAt(1), QDateTime(QDate(2020, 02, 29), QTime(12, 12, 12)));
1155 QCOMPARE(col0->dateTimeAt(0), QDateTime(QDate(2020, 02, 29), QTime(12, 12, 13)));
1156 QCOMPARE(col1->integerAt(4), 3);
1157 QCOMPARE(col1->integerAt(3), 2);
1158 QCOMPARE(col1->integerAt(2), 6);
1159 QCOMPARE(col1->integerAt(1), 1);
1160 QCOMPARE(col1->integerAt(0), 5);
1161 QCOMPARE(col1->integerAt(5), 4);
1162 QCOMPARE(col1->integerAt(6), 7);
1163}
1164
1165// performance
1166

Callers

nothing calls this directly

Calls 12

QDateClass · 0.85
QTimeClass · 0.85
QDateTimeClass · 0.50
setColumnCountMethod · 0.45
setRowCountMethod · 0.45
columnMethod · 0.45
setColumnModeMethod · 0.45
replaceDateTimesMethod · 0.45
replaceIntegerMethod · 0.45
sortColumnsMethod · 0.45
dateTimeAtMethod · 0.45
integerAtMethod · 0.45

Tested by

no test coverage detected