Publishing 2019 R1 content
[platform/upstream/dldt.git] / inference-engine / tests / unit / mocks / shape_infer / mock_output_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
13 class MockOutputController : public OutputController {
14 public:
15     MockOutputController(const std::vector<DataPtr>& dataVec) : OutputController(dataVec, {}, std::make_shared<EmptyChecker>()) {}
16
17     MOCK_METHOD2(setShapeByName, void(const SizeVector&, const std::string&));
18
19     MOCK_METHOD2(setShapeByIndex, void(const SizeVector&, size_t index));
20
21     MOCK_METHOD1(getIRShapeByName, SizeVector(const std::string&));
22
23     MOCK_METHOD1(getShapes, std::vector<SizeVector>(bool));
24
25     MOCK_METHOD0(getIRShapes, std::vector<SizeVector>());
26
27     MOCK_METHOD0(applyChanges, void());
28
29     MOCK_METHOD0(reset, void());
30
31     MOCK_METHOD1(propagateShapes, void(const std::set<ReshapeLauncher::Ptr>&));
32
33     MOCK_METHOD1(setShapes, void(const std::vector<SizeVector>&));
34
35     std::vector<SizeVector> realGetShapes() {
36         return OutputController::getShapes(false);
37     }
38 };
39