Newer
Older
#ifndef TEST_IMPLICIT_FUNCTION_PARSERS_H_
#define TEST_IMPLICIT_FUNCTION_PARSERS_H_
// Abstract testing base class for function parsers.
#include "MantidMDAlgorithms/MDParameterParserDeclarations.h"
#include "MantidMDAlgorithms/Vector3DParameterParser.h"
#include "MantidMDAlgorithms/InvalidParameterParser.h"
#include "MantidMDAlgorithms/PlaneFunctionBuilder.h"
#include "MantidAPI/ImplicitFunctionParser.h"
#include "MantidAPI/ImplicitFunctionParameterParser.h"
#include <cxxtest/TestSuite.h>
#include <gmock/gmock.h>
#include <gtest/gtest.h>
// Mock function parser class.
class MockFunctionParser : public Mantid::API::ImplicitFunctionParser {
public:
MockFunctionParser(
Mantid::API::ImplicitFunctionParameterParser *paramParser)
: Mantid::API::ImplicitFunctionParser(paramParser) {
;
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
MOCK_METHOD1(createFunctionBuilder,
Mantid::API::ImplicitFunctionBuilder *(
Poco::XML::Element *functionElement));
MOCK_METHOD1(setSuccessorParser,
void(Mantid::API::ImplicitFunctionParser *parameterElement));
MOCK_METHOD1(
setParameterParser,
void(Mantid::API::ImplicitFunctionParameterParser *parameterElement));
};
// Mock parameter parser class.
class MockParameterParser
: public Mantid::API::ImplicitFunctionParameterParser {
public:
MOCK_METHOD1(createParameter, Mantid::API::ImplicitFunctionParameter *(
Poco::XML::Element *parameterElement));
MOCK_METHOD1(
setSuccessorParser,
void(Mantid::API::ImplicitFunctionParameterParser *parameterParser));
};
// helper method to construct real parameter parser chain.
Mantid::API::ImplicitFunctionParameterParser *constructRootParameterParser() {
using namespace Mantid::MDAlgorithms;
using namespace Mantid::API;
ImplicitFunctionParameterParser *originParser = new OriginParameterParser;
ImplicitFunctionParameterParser *upParser = new UpParameterParser;
ImplicitFunctionParameterParser *normalParser = new NormalParameterParser;
ImplicitFunctionParameterParser *invalidParser = new InvalidParameterParser;
ImplicitFunctionParameterParser *widthParser = new WidthParameterParser;
widthParser->setSuccessorParser(invalidParser);
upParser->setSuccessorParser(widthParser);
originParser->setSuccessorParser(upParser);
normalParser->setSuccessorParser(originParser);