##// END OF EJS Templates
Completes fuzzing test structure by setting initial range for the time controller
Alexandre Leroux -
r1209:324a3ee21c58
parent child
Show More
@@ -14,6 +14,14
14 14 * @brief The SqpRange struct holds the information of time parameters
15 15 */
16 16 struct SqpRange {
17 /// Creates SqpRange from dates and times
18 static SqpRange fromDateTime(const QDate &startDate, const QTime &startTime,
19 const QDate &endDate, const QTime &endTime)
20 {
21 return {DateUtils::secondsSinceEpoch(QDateTime{startDate, startTime}),
22 DateUtils::secondsSinceEpoch(QDateTime{endDate, endTime})};
23 }
24
17 25 /// Start time (UTC)
18 26 double m_TStart;
19 27 /// End time (UTC)
@@ -3,5 +3,6
3 3 const QString NB_MAX_OPERATIONS_PROPERTY = QStringLiteral("component");
4 4 const QString NB_MAX_VARIABLES_PROPERTY = QStringLiteral("nbMaxVariables");
5 5 const QString AVAILABLE_OPERATIONS_PROPERTY = QStringLiteral("availableOperations");
6 const QString MAX_RANGE_PROPERTY = QStringLiteral("maxRange");
6 7 const QString METADATA_POOL_PROPERTY = QStringLiteral("metadataPool");
7 8 const QString PROVIDER_PROPERTY = QStringLiteral("provider");
@@ -26,6 +26,9 extern const QString NB_MAX_VARIABLES_PROPERTY;
26 26 /// Set of operations available for the test
27 27 extern const QString AVAILABLE_OPERATIONS_PROPERTY;
28 28
29 /// Max range that an operation can reach
30 extern const QString MAX_RANGE_PROPERTY;
31
29 32 /// Set of metadata that can be associated to a variable
30 33 extern const QString METADATA_POOL_PROPERTY;
31 34
@@ -38,6 +38,7 const auto NB_MAX_OPERATIONS_DEFAULT_VALUE = 100;
38 38 const auto NB_MAX_VARIABLES_DEFAULT_VALUE = 1;
39 39 const auto AVAILABLE_OPERATIONS_DEFAULT_VALUE
40 40 = QVariant::fromValue(OperationsTypes{FuzzingOperationType::CREATE});
41
41 42 // /////// //
42 43 // Methods //
43 44 // /////// //
@@ -186,6 +187,25 void TestAmdaFuzzing::testFuzzing()
186 187 auto &variableController = sqpApp->variableController();
187 188 auto &timeController = sqpApp->timeController();
188 189
190 // Generates random initial range (bounded to max range)
191 auto maxRange = properties.value(MAX_RANGE_PROPERTY, QVariant::fromValue(INVALID_RANGE))
192 .value<SqpRange>();
193
194 QVERIFY(maxRange != INVALID_RANGE);
195
196 auto initialRangeStart
197 = RandomGenerator::instance().generateDouble(maxRange.m_TStart, maxRange.m_TEnd);
198 auto initialRangeEnd
199 = RandomGenerator::instance().generateDouble(maxRange.m_TStart, maxRange.m_TEnd);
200 if (initialRangeStart > initialRangeEnd) {
201 std::swap(initialRangeStart, initialRangeEnd);
202 }
203
204 // Sets initial range on time controller
205 SqpRange initialRange{initialRangeStart, initialRangeEnd};
206 qCInfo(LOG_TestAmdaFuzzing()) << "Setting initial range to" << initialRange << "...";
207 timeController.onTimeToUpdate(initialRange);
208
189 209 FuzzingTest test{variableController, properties};
190 210 test.execute();
191 211 }
General Comments 0
You need to be logged in to leave comments. Login now