1 /*
2  * Copyright (c) 2023 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 #include <gtest/gtest.h>
16 #include <thread>
17 
18 #include "reader_mode_callback_stub.h"
19 
20 namespace OHOS {
21 namespace NFC {
22 namespace TEST {
23 using namespace testing::ext;
24 using namespace OHOS::NFC::TAG;
25 class ReaderModeCallbackStubTest : public testing::Test {
26 public:
27     static void SetUpTestCase();
28     static void TearDownTestCase();
29     void SetUp();
30     void TearDown();
31 };
32 
SetUpTestCase()33 void ReaderModeCallbackStubTest::SetUpTestCase()
34 {
35     std::cout << " SetUpTestCase ReaderModeCallbackStubTest." << std::endl;
36 }
37 
TearDownTestCase()38 void ReaderModeCallbackStubTest::TearDownTestCase()
39 {
40     std::cout << " TearDownTestCase ReaderModeCallbackStubTest." << std::endl;
41 }
42 
SetUp()43 void ReaderModeCallbackStubTest::SetUp()
44 {
45     std::cout << " SetUp ReaderModeCallbackStubTest." << std::endl;
46 }
47 
TearDown()48 void ReaderModeCallbackStubTest::TearDown()
49 {
50     std::cout << " TearDown ReaderModeCallbackStubTest." << std::endl;
51 }
52 
53 /**
54  * @tc.name: OnRemoteRequest001
55  * @tc.desc: Test ReaderModeCallbackStubTest OnRemoteRequest.
56  * @tc.type: FUNC
57  */
58 HWTEST_F(ReaderModeCallbackStubTest, OnRemoteRequest001, TestSize.Level1)
59 {
60     uint32_t code = 0;
61     MessageParcel data;
62     MessageParcel reply;
63     MessageOption option;
64     std::shared_ptr<ReaderModeCallbackStub> readerModeCallbackStub = std::make_shared<ReaderModeCallbackStub>();
65     int onRemoteRequest = readerModeCallbackStub->OnRemoteRequest(code, data, reply, option);
66     ASSERT_TRUE(onRemoteRequest == KITS::ERR_NFC_PARAMETERS);
67 }
68 
69 /**
70  * @tc.name: RegReaderMode001
71  * @tc.desc: Test ReaderModeCallbackStubTest RegReaderMode.
72  * @tc.type: FUNC
73  */
74 HWTEST_F(ReaderModeCallbackStubTest, RegReaderMode001, TestSize.Level1)
75 {
76     sptr<KITS::IReaderModeCallback> callback = nullptr;
77     std::shared_ptr<ReaderModeCallbackStub> readerModeCallbackStub = std::make_shared<ReaderModeCallbackStub>();
78     KITS::ErrorCode errorCode = readerModeCallbackStub->RegReaderMode(callback);
79     ASSERT_TRUE(errorCode == KITS::ERR_NFC_PARAMETERS);
80 }
81 
82 /**
83  * @tc.name: RegReaderMode002
84  * @tc.desc: Test ReaderModeCallbackStubTest RegReaderMode.
85  * @tc.type: FUNC
86  */
87 HWTEST_F(ReaderModeCallbackStubTest, RegReaderMode002, TestSize.Level1)
88 {
89     sptr<KITS::IReaderModeCallback> callback = nullptr;
90     ReaderModeCallbackStub* readerModeCallbackStub = ReaderModeCallbackStub::GetInstance();
91     KITS::ErrorCode errorCode = readerModeCallbackStub->RegReaderMode(callback);
92     ASSERT_TRUE(errorCode == KITS::ERR_NFC_PARAMETERS);
93 }
94 
95 /**
96  * @tc.name: RegReaderMode003
97  * @tc.desc: Test ReaderModeCallbackStubTest RegReaderMode.
98  * @tc.type: FUNC
99  */
100 HWTEST_F(ReaderModeCallbackStubTest, RegReaderMode003, TestSize.Level1)
101 {
102     sptr<KITS::IReaderModeCallback> callback = new TAG::ReaderModeCallbackStub();
103     std::shared_ptr<ReaderModeCallbackStub> readerModeCallbackStub = std::make_shared<ReaderModeCallbackStub>();
104     KITS::ErrorCode errorCode = readerModeCallbackStub->RegReaderMode(callback);
105     ASSERT_TRUE(errorCode == KITS::ERR_NONE);
106 }
107 }
108 }
109 }