##// END OF EJS Templates
Defines fuzzing operations...
Defines fuzzing operations Fuzzinf operations are operations that can be executed on a variable during tests. For now, only the "variable creation" operation is implemented

File last commit:

r1171:1d0fdfceb8fb
r1171:1d0fdfceb8fb
Show More
FuzzingOperations.cpp
48 lines | 1.3 KiB | text/x-c | CppLexer
/ plugins / amda / tests / FuzzingOperations.cpp
#include "FuzzingOperations.h"
#include <Variable/Variable.h>
#include <Variable/VariableController.h>
Q_LOGGING_CATEGORY(LOG_FuzzingOperations, "FuzzingOperations")
namespace {
struct CreateOperation : public IFuzzingOperation {
bool canExecute(std::shared_ptr<Variable> variable) const override {
/// @todo: complete
return false;
}
void execute(std::shared_ptr<Variable>& variable, VariableController &variableController, const Properties &properties) const override{
/// @todo: complete
}
};
struct UnknownOperation : public IFuzzingOperation {
bool canExecute(std::shared_ptr<Variable> variable) const override {
Q_UNUSED(variable);
return false;
}
void execute(std::shared_ptr<Variable>& variable, VariableController &variableController, const Properties &properties) const override{
Q_UNUSED(variable);
Q_UNUSED(variableController);
Q_UNUSED(properties);
// Does nothing
}
};
} // namespace
std::unique_ptr<IFuzzingOperation> FuzzingOperationFactory::create(FuzzingOperationType type)
{
switch (type) {
case FuzzingOperationType::CREATE:
return std::make_unique<CreateOperation>();
default:
// Default case returns unknown operation
break;
}
return std::make_unique<UnknownOperation>();
}