1 /*
2  * Copyright (c) 2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef NEURAL_NETWORK_RUNTIME_UNITTEST_H
17 #define NEURAL_NETWORK_RUNTIME_UNITTEST_H
18 
19 #include <gtest/gtest.h>
20 
21 #include "interfaces/kits/c/neural_network_runtime/neural_network_runtime.h"
22 #include "inner_model.h"
23 #include "executor.h"
24 
25 namespace OHOS {
26 namespace NeuralNetworkRuntime {
27 namespace Unittest {
28 class NeuralNetworkCoreTest : public testing::Test {
29 public:
30     OH_NN_ReturnCode BuildModel(InnerModel& model);
31     void InitIndices();
32     void AddModelTensor(InnerModel& innerModel);
33     void SetInnerBuild(InnerModel& innerModel);
34     void SetExecutor(Executor& executor);
35     void SetInputAndOutput(Executor& executor);
36     void SetTensor();
37 
38 public:
39     OH_NN_UInt32Array m_inputIndices;
40     OH_NN_UInt32Array m_outputIndices;
41     OH_NN_UInt32Array m_paramIndices;
42     OH_NN_Tensor m_tensor;
43     TensorDesc desc;
44     TensorDesc* tensorDesc = &desc;
45     Compilation ation;
46     Compilation* compilation = &ation;
47 
48     size_t backendID = 1;
49     size_t sizetensor = 3;
50     uint32_t m_inputIndexs[2] {0, 1};
51     uint32_t m_outputIndexs[1] {2};
52     uint32_t m_paramIndexs[1] {3};
53 };
54 } // namespace Unittest
55 } // namespace NeuralNetworkRuntime
56 } // namespace OHOS
57 
58 #endif // NEURAL_NETWORK_RUNTIME_UNITTEST_H
59