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

Method testSortDateTime1

tests/spreadsheet/SpreadsheetTest.cpp:1083–1121  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

1081 * check sorting datetimes with invalid entries ascending as leading column
1082 */
1083void SpreadsheetTest::testSortDateTime1() {
1084 Spreadsheet sheet(QStringLiteral("test"), false);
1085 sheet.setColumnCount(2);
1086 sheet.setRowCount(8);
1087
1088 QVector<QDateTime> xData{
1089 QDateTime(QDate(2020, 02, 29), QTime(12, 12, 12)),
1090 QDateTime(QDate(2020, 02, 28), QTime(12, 12, 12)),
1091 QDateTime(QDate(2019, 02, 28), QTime(12, 12, 12)),
1092 QDateTime(QDate(2019, 02, 29), QTime(12, 12, 12)), // invalid
1093 QDateTime(QDate(2020, 02, 29), QTime(12, 12, 13)),
1094 QDateTime(QDate(2020, 02, 29), QTime(11, 12, 12)),
1095 };
1096 QVector<int> yData = {1, 2, 3, 4, 5, 6, 7};
1097
1098 auto* col0{sheet.column(0)};
1099 auto* col1{sheet.column(1)};
1100 col0->setColumnMode(AbstractColumn::ColumnMode::DateTime);
1101 col0->replaceDateTimes(0, xData);
1102 col1->setColumnMode(AbstractColumn::ColumnMode::Integer);
1103 col1->replaceInteger(0, yData);
1104
1105 // sort
1106 sheet.sortColumns(col0, {col0, col1}, true);
1107
1108 // values
1109 QCOMPARE(col0->dateTimeAt(0), QDateTime(QDate(2019, 02, 28), QTime(12, 12, 12)));
1110 QCOMPARE(col0->dateTimeAt(1), QDateTime(QDate(2020, 02, 28), QTime(12, 12, 12)));
1111 QCOMPARE(col0->dateTimeAt(2), QDateTime(QDate(2020, 02, 29), QTime(11, 12, 12)));
1112 QCOMPARE(col0->dateTimeAt(3), QDateTime(QDate(2020, 02, 29), QTime(12, 12, 12)));
1113 QCOMPARE(col0->dateTimeAt(4), QDateTime(QDate(2020, 02, 29), QTime(12, 12, 13)));
1114 QCOMPARE(col1->integerAt(0), 3);
1115 QCOMPARE(col1->integerAt(1), 2);
1116 QCOMPARE(col1->integerAt(2), 6);
1117 QCOMPARE(col1->integerAt(3), 1);
1118 QCOMPARE(col1->integerAt(4), 5);
1119 QCOMPARE(col1->integerAt(5), 4);
1120 QCOMPARE(col1->integerAt(6), 7);
1121}
1122
1123/*
1124 * check sorting datetimes with invalid entries descending as leading column

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