* check sorting single column of datetimes with invalid entries ascending */
| 718 | * check sorting single column of datetimes with invalid entries ascending |
| 719 | */ |
| 720 | void SpreadsheetTest::testSortSingleDateTime1() { |
| 721 | const QVector<QDateTime> xData{ |
| 722 | QDateTime(QDate(2020, 02, 29), QTime(12, 12, 12)), |
| 723 | QDateTime(QDate(2020, 02, 28), QTime(12, 12, 12)), |
| 724 | QDateTime(QDate(2019, 02, 28), QTime(12, 12, 12)), |
| 725 | QDateTime(QDate(2019, 02, 29), QTime(12, 12, 12)), // invalid |
| 726 | QDateTime(QDate(2020, 02, 29), QTime(12, 12, 13)), |
| 727 | QDateTime(QDate(2020, 02, 29), QTime(11, 12, 12)), |
| 728 | }; |
| 729 | |
| 730 | Spreadsheet sheet(QStringLiteral("test"), false); |
| 731 | sheet.setColumnCount(1); |
| 732 | sheet.setRowCount(8); |
| 733 | auto* col{sheet.column(0)}; |
| 734 | col->setColumnMode(AbstractColumn::ColumnMode::DateTime); |
| 735 | col->replaceDateTimes(0, xData); |
| 736 | |
| 737 | // sort |
| 738 | sheet.sortColumns(nullptr, {col}, true); |
| 739 | |
| 740 | // values |
| 741 | QCOMPARE(col->dateTimeAt(0), QDateTime(QDate(2019, 02, 28), QTime(12, 12, 12))); |
| 742 | QCOMPARE(col->dateTimeAt(1), QDateTime(QDate(2020, 02, 28), QTime(12, 12, 12))); |
| 743 | QCOMPARE(col->dateTimeAt(2), QDateTime(QDate(2020, 02, 29), QTime(11, 12, 12))); |
| 744 | QCOMPARE(col->dateTimeAt(3), QDateTime(QDate(2020, 02, 29), QTime(12, 12, 12))); |
| 745 | QCOMPARE(col->dateTimeAt(4), QDateTime(QDate(2020, 02, 29), QTime(12, 12, 13))); |
| 746 | } |
| 747 | |
| 748 | /* |
| 749 | * check sorting single column of datetimes with invalid entries descending |
nothing calls this directly
no test coverage detected