1 // Copyright (C) 2018-2020 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
7 #include <gmock/gmock.h>
13 #include "ie_icnn_network.hpp"
15 namespace InferenceEngine {
17 IE_SUPPRESS_DEPRECATED_START
19 class MockNotEmptyICNNNetwork : public ICNNNetwork {
21 static constexpr const char* INPUT_BLOB_NAME = "first_input";
22 const SizeVector INPUT_DIMENTIONS = { 1, 3, 299, 299 };
23 static constexpr const char* OUTPUT_BLOB_NAME = "first_output";
24 const SizeVector OUTPUT_DIMENTIONS = { 1, 3, 299, 299 };
25 const std::string name = "test";
26 Precision getPrecision() const noexcept override {
27 return Precision::FP32;
29 const std::string& getName() const noexcept override {
32 void getOutputsInfo(OutputsDataMap& out) const noexcept override {
33 auto data = std::make_shared<Data>(MockNotEmptyICNNNetwork::OUTPUT_BLOB_NAME, Precision::UNSPECIFIED);
34 data->getInputTo()[""] = std::make_shared<CNNLayer>(LayerParams{
35 MockNotEmptyICNNNetwork::OUTPUT_BLOB_NAME,
38 out[MockNotEmptyICNNNetwork::OUTPUT_BLOB_NAME] = data;
40 void getInputsInfo(InputsDataMap &inputs) const noexcept override {
41 auto inputInfo = std::make_shared<InputInfo>();
43 auto inData = std::make_shared<Data>(MockNotEmptyICNNNetwork::INPUT_BLOB_NAME, Precision::UNSPECIFIED);
44 auto inputLayer = std::make_shared<CNNLayer>(LayerParams{
45 MockNotEmptyICNNNetwork::INPUT_BLOB_NAME,
48 inData->getInputTo()[MockNotEmptyICNNNetwork::OUTPUT_BLOB_NAME] = inputLayer;
49 inData->setDims(MockNotEmptyICNNNetwork::INPUT_DIMENTIONS);
50 inData->setLayout(Layout::NCHW);
51 inputInfo->setInputData(inData);
53 auto outData = std::make_shared<Data>(MockNotEmptyICNNNetwork::OUTPUT_BLOB_NAME, Precision::UNSPECIFIED);
54 outData->setDims(MockNotEmptyICNNNetwork::OUTPUT_DIMENTIONS);
55 outData->setLayout(Layout::NCHW);
56 outData->getInputTo()[""] = std::make_shared<CNNLayer>(LayerParams{
57 MockNotEmptyICNNNetwork::OUTPUT_BLOB_NAME,
61 inputLayer->outData.push_back(outData);
63 inputs[MockNotEmptyICNNNetwork::INPUT_BLOB_NAME] = inputInfo;
65 void addLayer(const CNNLayerPtr& layer) noexcept override {}
66 std::shared_ptr<ngraph::Function> getFunction() noexcept override {
69 std::shared_ptr<const ngraph::Function> getFunction() const noexcept override {
72 MOCK_QUALIFIED_METHOD1(getInput, const noexcept, InputInfo::Ptr(const std::string &inputName));
73 MOCK_QUALIFIED_METHOD2(getName, const noexcept, void(char* pName, size_t len));
74 MOCK_QUALIFIED_METHOD0(layerCount, const noexcept, size_t());
75 MOCK_QUALIFIED_METHOD1(getData, noexcept, DataPtr&(const char* dname));
76 MOCK_QUALIFIED_METHOD3(addOutput, noexcept, StatusCode(const std::string &, size_t , ResponseDesc*));
77 MOCK_QUALIFIED_METHOD3(getLayerByName, const noexcept, StatusCode(const char* , CNNLayerPtr& , ResponseDesc*));
78 MOCK_QUALIFIED_METHOD1(setBatchSize, noexcept, StatusCode(const size_t size));
79 MOCK_QUALIFIED_METHOD2(setBatchSize, noexcept, StatusCode(const size_t size, ResponseDesc*));
80 MOCK_QUALIFIED_METHOD0(getBatchSize, const noexcept, size_t());
81 MOCK_QUALIFIED_METHOD0(Release, noexcept, void());
82 MOCK_QUALIFIED_METHOD1(getInputShapes, const noexcept, void(ICNNNetwork::InputShapes &));
83 MOCK_QUALIFIED_METHOD2(reshape, noexcept, StatusCode(const ICNNNetwork::InputShapes &, ResponseDesc *));
84 MOCK_QUALIFIED_METHOD3(serialize, const noexcept, StatusCode(const std::string &, const std::string &, InferenceEngine::ResponseDesc*));
87 IE_SUPPRESS_DEPRECATED_END
89 } // namespace InferenceEngine