Publishing 2019 R1 content
[platform/upstream/dldt.git] / inference-engine / tests / unit / builders / ctc_greedy_decoder_layer_test.cpp
1 // Copyright (C) 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 #include <builders/ie_ctc_greedy_decoder_layer.hpp>
9
10 #include "builder_test.hpp"
11
12 using namespace testing;
13 using namespace InferenceEngine;
14
15 class CTCGreedyDecoderLayerBuilderTest : public BuilderTestCommon {};
16
17 TEST_F(CTCGreedyDecoderLayerBuilderTest, getExistsLayerFromNetworkBuilder) {
18     Builder::Network network("network");
19     Builder::CTCGreedyDecoderLayer ctcGreedyDecoderLayer("CTCGreedyDecoder");
20     ctcGreedyDecoderLayer.setInputPorts({Port({88, 1, 71}), Port({88, 1})});
21     ctcGreedyDecoderLayer.setOutputPort(Port({1, 88, 1, 1}));
22     size_t ind = 0;
23     ASSERT_NO_THROW(ind = network.addLayer(ctcGreedyDecoderLayer));
24     Builder::CTCGreedyDecoderLayer layerFromNet(network.getLayer(ind));
25     ASSERT_EQ(ctcGreedyDecoderLayer.getInputPorts(), layerFromNet.getInputPorts());
26     ASSERT_EQ(ctcGreedyDecoderLayer.getOutputPort(), layerFromNet.getOutputPort());
27 }
28
29 TEST_F(CTCGreedyDecoderLayerBuilderTest, cannotCreateLayerWithoutInputPorts) {
30     Builder::Network network("network");
31     Builder::CTCGreedyDecoderLayer ctcGreedyDecoderLayer("CTCGreedyDecoder");
32     ctcGreedyDecoderLayer.setOutputPort(Port({1, 88, 1, 1}));
33     ASSERT_THROW(network.addLayer(ctcGreedyDecoderLayer), InferenceEngine::details::InferenceEngineException);
34 }
35
36 TEST_F(CTCGreedyDecoderLayerBuilderTest, cannotCreateLayerWithThreeInputPorts) {
37     Builder::Network network("network");
38     Builder::CTCGreedyDecoderLayer ctcGreedyDecoderLayer("CTCGreedyDecoder");
39     ctcGreedyDecoderLayer.setInputPorts({Port({88, 1, 71}), Port({88, 1}), Port({88, 1})});
40     ctcGreedyDecoderLayer.setOutputPort(Port({1, 88, 1, 1}));
41     ASSERT_THROW(network.addLayer(ctcGreedyDecoderLayer), InferenceEngine::details::InferenceEngineException);
42 }