Publishing 2019 R1 content
[platform/upstream/dldt.git] / inference-engine / tests / unit / builders / input_layer_test.cpp
1 // Copyright (C) 2018-2019 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3 //
4
5 #include <gtest/gtest.h>
6 #include <string.h>
7 #include <ie_builders.hpp>
8
9 #include "builder_test.hpp"
10
11 using namespace testing;
12 using namespace InferenceEngine;
13
14 class InputLayerBuilderTest : public BuilderTestCommon {};
15
16 TEST_F(InputLayerBuilderTest, cannotCreateInputWithoutPort) {
17     ASSERT_THROW(((Builder::Layer)Builder::InputLayer("in1")).build(), InferenceEngine::details::InferenceEngineException);
18 }
19
20 TEST_F(InputLayerBuilderTest, getExistsLayerFromNetworkBuilder) {
21     Builder::Network network("Test");
22     Builder::InputLayer inBuilder("in1");
23     inBuilder.setPort(Port({1, 3, 3, 3}));
24     size_t inId = network.addLayer(inBuilder);
25     ASSERT_EQ(inBuilder.getPort().shape(), Port({1, 3, 3, 3}).shape());
26     Builder::InputLayer inBuilderFromNetwork(network.getLayer(inId));
27     ASSERT_EQ(inBuilderFromNetwork.getPort().shape(), Port({1, 3, 3, 3}).shape());
28     inBuilderFromNetwork.setPort(Port({1, 3, 4, 4}));
29     ASSERT_EQ(inBuilderFromNetwork.getPort().shape(), Port({1, 3, 4, 4}).shape());
30     ASSERT_EQ(network.getLayer(inId)->getOutputPorts()[0].shape(), Port({1, 3, 4, 4}).shape());
31     ASSERT_EQ(inBuilder.getPort().shape(), Port({1, 3, 3, 3}).shape());
32 }