##// END OF EJS Templates
Made more consistent plugin install path with CMake, removed useless plugin lookup path...
Made more consistent plugin install path with CMake, removed useless plugin lookup path Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>

File last commit:

r1349:3fc54ca0e4e0
r1398:728acc3a845d
Show More
FuzzingOperations.h
57 lines | 1.9 KiB | text/x-c | CLexer
/ plugins / amda / tests / FuzzingOperations.h
Alexandre Leroux
Defines fuzzing operations...
r1171 #ifndef SCIQLOP_FUZZINGOPERATIONS_H
#define SCIQLOP_FUZZINGOPERATIONS_H
#include "FuzzingDefs.h"
#include <memory>
#include <set>
#include <QLoggingCategory>
#include <QMetaType>
(•̀ᴗ•́)و ̑̑ Some cleaning, remover previous implementation of VariableController...
r1349 #include <Variable/VariableController2.h>
Alexandre Leroux
Defines fuzzing operations...
r1171
Q_DECLARE_LOGGING_CATEGORY(LOG_FuzzingOperations)
class VariableController;
/**
* Enumeration of types of existing fuzzing operations
*/
Alexandre Leroux
Creates sync and desync operations and adds them to the fuzzing tests
r1205 enum class FuzzingOperationType {
CREATE,
DELETE,
PAN_LEFT,
PAN_RIGHT,
ZOOM_IN,
ZOOM_OUT,
SYNCHRONIZE,
DESYNCHRONIZE
};
Alexandre Leroux
Defines fuzzing operations...
r1171
/// Interface that represents an operation that can be executed during a fuzzing test
struct IFuzzingOperation {
virtual ~IFuzzingOperation() noexcept = default;
Alexandre Leroux
Passes FuzzingState and variable id instead VariableState to the methods of operations
r1203 /// Checks if the operation can be executed according to the current test's state for the
/// variable passed in parameter
virtual bool canExecute(VariableId variableId, const FuzzingState &fuzzingState) const = 0;
/// Executes the operation on the variable for which its identifier is passed in parameter
/// @param variableId the variable identifier
/// @param fuzzingState the current test's state on which to find the variable and execute the
/// operation
Alexandre Leroux
Defines fuzzing operations...
r1171 /// @param variableController the controller associated to the operation
/// @param properties properties that can be used to configure the operation
Alexandre Leroux
Passes FuzzingState and variable id instead VariableState to the methods of operations
r1203 /// @remarks fuzzingState is passed as a reference because, according to the operation, it can
/// be modified (in/out parameter)
virtual void execute(VariableId variableId, FuzzingState &fuzzingState,
(•̀ᴗ•́)و ̑̑ Some cleaning, remover previous implementation of VariableController...
r1349 VariableController2 &variableController,
Alexandre Leroux
Fixes clang-format for resource files
r1180 const Properties &properties = {}) const = 0;
Alexandre Leroux
Defines fuzzing operations...
r1171 };
/// Factory of @sa IFuzzingOperation
struct FuzzingOperationFactory {
/// Creates a fuzzing operation from a type
static std::unique_ptr<IFuzzingOperation> create(FuzzingOperationType type);
};
#endif // SCIQLOP_FUZZINGOPERATIONS_H