Publishing R3
[platform/upstream/dldt.git] / inference-engine / tests / unit / mocks / mock_icnn_network.hpp
1 // Copyright (C) 2018 Intel Corporation
2 //
3 // SPDX-License-Identifier: Apache-2.0
4 //
5
6 /**
7  * \brief header file for ICNNNetwork
8  * \file ie_icnn_network.hpp
9  */
10 #pragma once
11
12 #include "ie_icnn_network.hpp"
13 #include <gmock/gmock-generated-function-mockers.h>
14 #include "inference_engine/cnn_network_impl.hpp"
15
16
17 /**
18  * @class ICNNNetwork
19  * @brief Main interface to describe the NN topology
20  */
21 class MockICNNNetwork : public InferenceEngine::ICNNNetwork {
22  public:
23     MOCK_QUALIFIED_METHOD0(getPrecision, const noexcept, InferenceEngine::Precision ());
24     MOCK_QUALIFIED_METHOD1(getOutputsInfo, const noexcept, void (InferenceEngine::OutputsDataMap& out));
25     MOCK_QUALIFIED_METHOD1(getInputsInfo, const noexcept, void (InferenceEngine::InputsDataMap &inputs));
26     MOCK_QUALIFIED_METHOD1(getInput, const noexcept, InferenceEngine::InputInfo::Ptr (const std::string &inputName));
27     MOCK_QUALIFIED_METHOD2(getName, const noexcept, void (char* pName, size_t len));
28     MOCK_QUALIFIED_METHOD0(layerCount, const noexcept, size_t ());
29     MOCK_QUALIFIED_METHOD0(getName, const noexcept, const std::string& ());
30     MOCK_QUALIFIED_METHOD1(getData, noexcept, InferenceEngine::DataPtr&(const char* dname));
31     MOCK_QUALIFIED_METHOD1(addLayer, noexcept, void(const InferenceEngine::CNNLayerPtr& layer));
32     MOCK_QUALIFIED_METHOD3(addOutput, noexcept, InferenceEngine::StatusCode (const std::string &, size_t , InferenceEngine::ResponseDesc*));
33     MOCK_QUALIFIED_METHOD3(getLayerByName, const noexcept, InferenceEngine::StatusCode (const char* , InferenceEngine::CNNLayerPtr& , InferenceEngine::ResponseDesc* ));
34     MOCK_QUALIFIED_METHOD1(setTargetDevice, noexcept, void (InferenceEngine::TargetDevice device));
35     MOCK_QUALIFIED_METHOD0(getTargetDevice, const noexcept, InferenceEngine::TargetDevice ());
36     MOCK_QUALIFIED_METHOD1(setBatchSize, noexcept, InferenceEngine::StatusCode (const size_t size));
37     MOCK_QUALIFIED_METHOD2(setBatchSize, noexcept, InferenceEngine::StatusCode (const size_t size, InferenceEngine::ResponseDesc*));
38     MOCK_QUALIFIED_METHOD0(getBatchSize, const noexcept, size_t ());
39     MOCK_QUALIFIED_METHOD0(Release, noexcept, void ());
40     MOCK_QUALIFIED_METHOD1(getInputShapes, const noexcept, void (InferenceEngine::ICNNNetwork::InputShapes&));
41     MOCK_QUALIFIED_METHOD2(reshape, noexcept, InferenceEngine::StatusCode (const InferenceEngine::ICNNNetwork::InputShapes &, InferenceEngine::ResponseDesc *));
42     MOCK_QUALIFIED_METHOD2(AddExtension, noexcept, InferenceEngine::StatusCode (const InferenceEngine::IShapeInferExtensionPtr &, InferenceEngine::ResponseDesc *));
43 };
44
45 /**
46  * @class ICNNNetwork
47  * @brief Main interface to describe the NN topology
48  */
49 class MockCNNNetworkImpl: public InferenceEngine::details::CNNNetworkImpl {
50 public:
51     MOCK_QUALIFIED_METHOD0(getPrecision, const noexcept, InferenceEngine::Precision ());
52     MOCK_QUALIFIED_METHOD1(getOutputsInfo, const noexcept, void (InferenceEngine::OutputsDataMap& out));
53     MOCK_QUALIFIED_METHOD1(getInputsInfo, const noexcept, void (InferenceEngine::InputsDataMap &inputs));
54     MOCK_QUALIFIED_METHOD1(getInput, noexcept, InferenceEngine::InputInfo::Ptr (const std::string &inputName));
55     MOCK_QUALIFIED_METHOD2(getName, const noexcept, void (char* pName, size_t len));
56     MOCK_QUALIFIED_METHOD0(getName, const noexcept, const std::string& ());
57     MOCK_QUALIFIED_METHOD0(layerCount, const noexcept, size_t ());
58     MOCK_QUALIFIED_METHOD1(getData, noexcept, InferenceEngine::DataPtr&(const char* dname));
59     MOCK_QUALIFIED_METHOD1(addLayer, noexcept, void(const InferenceEngine::CNNLayerPtr& layer));
60     MOCK_QUALIFIED_METHOD3(addOutput, noexcept, InferenceEngine::StatusCode (const std::string &, size_t , InferenceEngine::ResponseDesc*));
61     MOCK_QUALIFIED_METHOD3(getLayerByName, noexcept, InferenceEngine::StatusCode (const char* , InferenceEngine::CNNLayerPtr& , InferenceEngine::ResponseDesc* ));
62     MOCK_QUALIFIED_METHOD1(setTargetDevice, noexcept, void (InferenceEngine::TargetDevice device));
63     MOCK_QUALIFIED_METHOD0(getTargetDevice, noexcept, InferenceEngine::TargetDevice ());
64     MOCK_QUALIFIED_METHOD1(setBatchSize, noexcept, InferenceEngine::StatusCode (const size_t size));
65     MOCK_QUALIFIED_METHOD2(setBatchSize, noexcept, InferenceEngine::StatusCode (const size_t size, InferenceEngine::ResponseDesc*));
66     MOCK_QUALIFIED_METHOD0(getBatchSize, const noexcept, size_t ());
67     MOCK_QUALIFIED_METHOD0(Release, noexcept, void ());
68     MOCK_METHOD1(validate, void(int));
69
70     void validateNetwork() {
71         InferenceEngine::details::CNNNetworkImpl::validate();
72     }
73 };