Publishing 2019 R1 content
[platform/upstream/dldt.git] / inference-engine / tests / unit / builders / clamp_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_clamp_layer.hpp>
9
10 #include "builder_test.hpp"
11
12 using namespace testing;
13 using namespace InferenceEngine;
14
15 class ClampLayerBuilderTest : public BuilderTestCommon {};
16
17 TEST_F(ClampLayerBuilderTest, getExistsLayerFromNetworkBuilder) {
18     Builder::Network net("network");
19     Builder::ClampLayer clampLayer("clampLayer");
20     clampLayer.setMinValue(0.1).setMaxValue(0.2);
21     size_t ind = net.addLayer(clampLayer);
22     Builder::ClampLayer layerFromNet(net.getLayer(ind));
23     ASSERT_EQ(layerFromNet.getMinValue(), clampLayer.getMinValue());
24     ASSERT_EQ(layerFromNet.getMaxValue(), clampLayer.getMaxValue());
25 }
26
27 TEST_F(ClampLayerBuilderTest, cannotCreateLayerWithWrongMinValue) {
28     Builder::Network net("network");
29     Builder::ClampLayer clampLayer("clampLayer");
30     clampLayer.setMinValue(0).setMaxValue(0.2);
31     ASSERT_NO_THROW(net.addLayer(clampLayer));
32 }
33
34 TEST_F(ClampLayerBuilderTest, cannotCreateLayerWithWrongMaxValue) {
35     Builder::Network net("network");
36     Builder::ClampLayer clampLayer("clampLayer");
37     clampLayer.setMinValue(10).setMaxValue(-0.2);
38     ASSERT_THROW(net.addLayer(clampLayer), InferenceEngine::details::InferenceEngineException);
39 }
40
41 TEST_F(ClampLayerBuilderTest, cannotCreateLayerWithWrongShapes) {
42     Builder::Network net("network");
43     Builder::Layer::Ptr fakeClampLayerPtr = std::make_shared<Builder::Layer>("Clamp", "Clamp layer");
44     fakeClampLayerPtr->getInputPorts().push_back(Port({1, 1, 1, 1}));
45     fakeClampLayerPtr->getOutputPorts().push_back(Port({1, 1, 1, 2}));
46     Builder::ClampLayer clampLayer(fakeClampLayerPtr);
47     clampLayer.setMinValue(0.0f).setMaxValue(1.0f);
48     ASSERT_THROW(net.addLayer(clampLayer), InferenceEngine::details::InferenceEngineException);
49 }