Publishing 2019 R1 content
[platform/upstream/dldt.git] / inference-engine / tests / unit / mocks / shape_infer / mock_input_controller.hpp
1 // Copyright (C) 2018-2019 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3 //
4
5 #pragma once
6
7 #include <gmock/gmock.h>
8
9 #include <inference_engine/shape_infer/ie_reshape_io_controllers.hpp>
10
11 using namespace InferenceEngine;
12 using namespace ShapeInfer;
13
14 class MockInputController : public InputController {
15 public:
16     MockInputController(const std::vector<DataPtr>& dataVec) : InputController(dataVec, {}, std::make_shared<EmptyChecker>()) {}
17
18     MOCK_METHOD2(setShapeByName, void(
19             const SizeVector&, const std::string&));
20
21     MOCK_METHOD2(setShapeByIndex, void(
22             const SizeVector&, size_t index));
23
24     MOCK_METHOD1(getShapes, std::vector<SizeVector>(bool));
25
26     MOCK_METHOD1(getBlobs, std::vector<Blob::CPtr>(bool));
27
28     MOCK_METHOD0(getIRShapes, std::vector<SizeVector>());
29
30     MOCK_METHOD1(getIRShapeByName, SizeVector(
31             const std::string&));
32
33     MOCK_METHOD0(applyChanges, void());
34
35     MOCK_METHOD0(reset, void());
36
37     SizeVector realGetIRShapeByName(const std::string& name) {
38         return InputController::getIRShapeByName(name);
39     }
40 };
41