* check sorting single column of datetimes with invalid entries descending */
| 749 | * check sorting single column of datetimes with invalid entries descending |
| 750 | */ |
| 751 | void SpreadsheetTest::testSortSingleDateTime2() { |
| 752 | const QVector<QDateTime> xData{ |
| 753 | QDateTime(QDate(2020, 02, 29), QTime(12, 12, 12)), |
| 754 | QDateTime(QDate(2020, 02, 28), QTime(12, 12, 12)), |
| 755 | QDateTime(QDate(2019, 02, 28), QTime(12, 12, 12)), |
| 756 | QDateTime(QDate(2019, 02, 29), QTime(12, 12, 12)), // invalid |
| 757 | QDateTime(QDate(2020, 02, 29), QTime(12, 12, 13)), |
| 758 | QDateTime(QDate(2020, 02, 29), QTime(11, 12, 12)), |
| 759 | }; |
| 760 | |
| 761 | Spreadsheet sheet(QStringLiteral("test"), false); |
| 762 | sheet.setColumnCount(1); |
| 763 | sheet.setRowCount(8); |
| 764 | auto* col = sheet.column(0); |
| 765 | col->setColumnMode(AbstractColumn::ColumnMode::DateTime); |
| 766 | col->replaceDateTimes(0, xData); |
| 767 | |
| 768 | // sort |
| 769 | sheet.sortColumns(nullptr, {col}, false); |
| 770 | |
| 771 | // values |
| 772 | QCOMPARE(col->dateTimeAt(4), QDateTime(QDate(2019, 02, 28), QTime(12, 12, 12))); |
| 773 | QCOMPARE(col->dateTimeAt(3), QDateTime(QDate(2020, 02, 28), QTime(12, 12, 12))); |
| 774 | QCOMPARE(col->dateTimeAt(2), QDateTime(QDate(2020, 02, 29), QTime(11, 12, 12))); |
| 775 | QCOMPARE(col->dateTimeAt(1), QDateTime(QDate(2020, 02, 29), QTime(12, 12, 12))); |
| 776 | QCOMPARE(col->dateTimeAt(0), QDateTime(QDate(2020, 02, 29), QTime(12, 12, 13))); |
| 777 | } |
| 778 | |
| 779 | // multiple column |
| 780 | /* |
nothing calls this directly
no test coverage detected