Publishing 2019 R1 content
[platform/upstream/dldt.git] / inference-engine / tests / unit / shape_infer / adult_test.hpp
1 #include <utility>
2
3 #include <utility>
4
5 // Copyright (C) 2018-2019 Intel Corporation
6 // SPDX-License-Identifier: Apache-2.0
7 //
8
9 #pragma once
10
11 #include <gtest/gtest.h>
12 #include <inference_engine/shape_infer/const_infer/ie_const_infer_holder.hpp>
13 #include "built_in_shape_infer_general_test.hpp"
14 #include "adult_test_utils.hpp"
15
16 namespace IE = InferenceEngine;
17
18 namespace ShapeInferTests {
19
20 class CommonTests : public ::testing::Test {
21 protected:
22     ASITestBuilder assertThat();
23
24 protected:
25     std::string type;
26     InOutData inOutData;
27 };
28
29 class BasicTest
30         : public CommonTests,
31           public testing::WithParamInterface<std::tuple<LayerType, InOutDataParam>> {
32 protected:
33     void SetUp() override;
34 };
35
36 class BlobTest
37         : public CommonTests,
38           public testing::WithParamInterface<std::tuple<LayerType, InOutDataParam, BlobsParam>> {
39 protected:
40     void SetUp() override;
41
42 protected:
43     FloatMap blobsParam;
44 };
45
46 class ParamsTest
47         : public CommonTests,
48           public testing::WithParamInterface<std::tuple<LayerType, InOutDataParam, MapParams>> {
49 protected:
50     void SetUp() override;
51
52 protected:
53     MapStrStr strParams;
54 };
55
56 class BasicAdultTest : public BasicTest {
57 };
58
59 class StridedSliceTest : public ParamsTest {
60 public:
61     std::vector<IE::Precision> getPrecisions();
62 };
63
64 class FillTest : public BasicTest {
65 protected:
66     std::vector<float> refGen(const InOutData& inOutData);
67 };
68
69 class RangeTest : public BasicTest {
70 protected:
71     std::vector<float> refGen(const InOutData& inOutData);
72 };
73
74 }  // namespace ShapeInferTests