1 // Copyright (C) 2019 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
5 #include <gtest/gtest.h>
7 #include <ie_builders.hpp>
8 #include <builders/ie_ctc_greedy_decoder_layer.hpp>
10 #include "builder_test.hpp"
12 using namespace testing;
13 using namespace InferenceEngine;
15 class CTCGreedyDecoderLayerBuilderTest : public BuilderTestCommon {};
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}));
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());
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);
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);