! * generate equidistant DateTime values, total number of values is fixed. */
| 117 | * generate equidistant DateTime values, total number of values is fixed. |
| 118 | */ |
| 119 | void SpreadsheetGenerateDataTest::testFixedNumberDateTime() { |
| 120 | Spreadsheet sheet(QStringLiteral("test"), false); |
| 121 | sheet.setColumnCount(1); |
| 122 | sheet.setRowCount(1); |
| 123 | auto* column = sheet.column(0); |
| 124 | column->setColumnMode(AbstractColumn::ColumnMode::DateTime); |
| 125 | |
| 126 | EquidistantValuesDialog dlg(&sheet); |
| 127 | dlg.setColumns(QVector<Column*>{column}); |
| 128 | dlg.setType(EquidistantValuesDialog::Type::FixedNumber); |
| 129 | dlg.setNumber(5); |
| 130 | |
| 131 | auto dateTime = QDateTime::fromString(QStringLiteral("2023-05-01T00:00:00Z"), Qt::ISODate); |
| 132 | dlg.setFromDateTime(dateTime.toMSecsSinceEpoch()); |
| 133 | dlg.setToDateTime(dateTime.addSecs(4).toMSecsSinceEpoch()); |
| 134 | dlg.generate(); |
| 135 | |
| 136 | // checks |
| 137 | QCOMPARE(column->columnMode(), AbstractColumn::ColumnMode::DateTime); |
| 138 | QCOMPARE(sheet.rowCount(), 5); |
| 139 | QCOMPARE(column->rowCount(), 5); |
| 140 | QCOMPARE(column->dateTimeAt(0), QDateTime::fromString(QStringLiteral("2023-05-01T00:00:00Z"), Qt::ISODate)); |
| 141 | QCOMPARE(column->dateTimeAt(1), QDateTime::fromString(QStringLiteral("2023-05-01T00:00:01Z"), Qt::ISODate)); |
| 142 | QCOMPARE(column->dateTimeAt(2), QDateTime::fromString(QStringLiteral("2023-05-01T00:00:02Z"), Qt::ISODate)); |
| 143 | QCOMPARE(column->dateTimeAt(3), QDateTime::fromString(QStringLiteral("2023-05-01T00:00:03Z"), Qt::ISODate)); |
| 144 | QCOMPARE(column->dateTimeAt(4), QDateTime::fromString(QStringLiteral("2023-05-01T00:00:04Z"), Qt::ISODate)); |
| 145 | } |
| 146 | |
| 147 | /*! |
| 148 | * two columns (double and datetime) provided, generate equidistant values for both, total number of values is fixed. |
nothing calls this directly
no test coverage detected