From b0db13ba024ef524074dd3ffbe9d00cb5c3be36c 2017-12-19 14:14:48 From: Alexandre Leroux Date: 2017-12-19 14:14:48 Subject: [PATCH] Creates sync and desync operations and adds them to the fuzzing tests --- diff --git a/plugins/amda/tests/FuzzingOperations.cpp b/plugins/amda/tests/FuzzingOperations.cpp index 7f74f91..113da22 100644 --- a/plugins/amda/tests/FuzzingOperations.cpp +++ b/plugins/amda/tests/FuzzingOperations.cpp @@ -149,6 +149,25 @@ struct MoveOperation : public IFuzzingOperation { QString m_Label; }; +struct SynchronizeOperation : public IFuzzingOperation { + bool canExecute(VariableId variableId, const FuzzingState &fuzzingState) const override + { + } + + void execute(VariableId variableId, FuzzingState &fuzzingState, + VariableController &variableController, const Properties &) const override + { + } +}; + +struct DesynchronizeOperation : public IFuzzingOperation { + bool canExecute(VariableId variableId, const FuzzingState &fuzzingState) const override + { + } + + void execute(VariableId variableId, FuzzingState &fuzzingState, + VariableController &variableController, const Properties &) const override + { struct UnknownOperation : public IFuzzingOperation { bool canExecute(VariableId, const FuzzingState &) const override { return false; } @@ -197,6 +216,10 @@ std::unique_ptr FuzzingOperationFactory::create(FuzzingOperat maxRange.m_TEnd - range.m_TEnd); }, QStringLiteral("Zoom out operation")); + case FuzzingOperationType::SYNCHRONIZE: + return std::make_unique(); + case FuzzingOperationType::DESYNCHRONIZE: + return std::make_unique(); default: // Default case returns unknown operation break; diff --git a/plugins/amda/tests/FuzzingOperations.h b/plugins/amda/tests/FuzzingOperations.h index c0ee0f4..b5899e0 100644 --- a/plugins/amda/tests/FuzzingOperations.h +++ b/plugins/amda/tests/FuzzingOperations.h @@ -16,7 +16,16 @@ class VariableController; /** * Enumeration of types of existing fuzzing operations */ -enum class FuzzingOperationType { CREATE, DELETE, PAN_LEFT, PAN_RIGHT, ZOOM_IN, ZOOM_OUT }; +enum class FuzzingOperationType { + CREATE, + DELETE, + PAN_LEFT, + PAN_RIGHT, + ZOOM_IN, + ZOOM_OUT, + SYNCHRONIZE, + DESYNCHRONIZE +}; /// Interface that represents an operation that can be executed during a fuzzing test struct IFuzzingOperation { diff --git a/plugins/amda/tests/TestAmdaFuzzing.cpp b/plugins/amda/tests/TestAmdaFuzzing.cpp index 3979cbf..649bd58 100644 --- a/plugins/amda/tests/TestAmdaFuzzing.cpp +++ b/plugins/amda/tests/TestAmdaFuzzing.cpp @@ -49,7 +49,9 @@ const auto AVAILABLE_OPERATIONS_DEFAULT_VALUE = QVariant::fromValue(WeightedOper {FuzzingOperationType::PAN_LEFT, 1.}, {FuzzingOperationType::PAN_RIGHT, 1.}, {FuzzingOperationType::ZOOM_IN, 1.}, - {FuzzingOperationType::ZOOM_OUT, 1.}}); + {FuzzingOperationType::ZOOM_OUT, 1.}, + {FuzzingOperationType::SYNCHRONIZE, 0.8}, + {FuzzingOperationType::DESYNCHRONIZE, 0.4}}); const auto CACHE_TOLERANCE_DEFAULT_VALUE = 0.2; /// Delay between each operation (in ms)