1 /*
2  * Copyright (C) 2024 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 #include <gtest/gtest.h>
17 #include "accessibility_caption_parcel.h"
18 
19 using namespace testing;
20 using namespace testing::ext;
21 
22 namespace OHOS {
23 namespace Accessibility {
24 class AccessibilityCaptionParcelTest : public ::testing::Test {
25 public:
AccessibilityCaptionParcelTest()26     AccessibilityCaptionParcelTest()
27     {}
~AccessibilityCaptionParcelTest()28     ~AccessibilityCaptionParcelTest()
29     {}
SetUpTestCase()30     static void SetUpTestCase()
31     {
32         GTEST_LOG_(INFO) << "AccessibilityCaptionParcelTest Start";
33     }
TearDownTestCase()34     static void TearDownTestCase()
35     {
36         GTEST_LOG_(INFO) << "AccessibilityCaptionParcelTest End";
37     }
SetUp()38     void SetUp()
39     {
40         GTEST_LOG_(INFO) << "AccessibilityCaptionParcelTest SetUp() Start";
41         AccessibilityConfig::CaptionProperty captionProperty;
42         captionPropertyParcel_ = std::make_shared<CaptionPropertyParcel>(captionProperty);
43         GTEST_LOG_(INFO) << "AccessibilityCaptionParcelTest SetUp() End";
44     };
TearDown()45     void TearDown()
46     {
47         GTEST_LOG_(INFO) << "AccessibilityCaptionParcelTest TearDown()";
48         captionPropertyParcel_ = nullptr;
49     }
50 
51     std::shared_ptr<CaptionPropertyParcel> captionPropertyParcel_ = nullptr;
52 };
53 
54 /**
55  * @tc.number: Caption_Marshalling_001
56  * @tc.name: Caption_Marshalling
57  * @tc.desc: Test function Marshalling
58  */
59 HWTEST_F(AccessibilityCaptionParcelTest, Caption_Marshalling_001, TestSize.Level1)
60 {
61     GTEST_LOG_(INFO) << "Caption_Marshalling_001 start";
62     if (!captionPropertyParcel_) {
63         GTEST_LOG_(INFO) << "captionPropertyParcel_ is null";
64         return;
65     }
66 
67     Parcel parcel;
68     bool ret = captionPropertyParcel_->Marshalling(parcel);
69     EXPECT_EQ(ret, true);
70     GTEST_LOG_(INFO) << "Caption_Marshalling_001 end";
71 }
72 
73 /**
74  * @tc.number: Caption_Unmarshalling_001
75  * @tc.name: Caption_Unmarshalling
76  * @tc.desc: Test function Unmarshalling
77  */
78 HWTEST_F(AccessibilityCaptionParcelTest, Caption_Unmarshalling_001, TestSize.Level1)
79 {
80     GTEST_LOG_(INFO) << "Caption_Unmarshalling_001 start";
81     if (!captionPropertyParcel_) {
82         GTEST_LOG_(INFO) << "captionPropertyParcel_ is null";
83         return;
84     }
85 
86     Parcel parcel;
87     sptr<CaptionPropertyParcel> captionParcel = captionPropertyParcel_->Unmarshalling(parcel);
88     EXPECT_EQ(true, captionParcel == nullptr);
89     GTEST_LOG_(INFO) << "Caption_Unmarshalling_001 end";
90 }
91 } // namespace Accessibility
92 } // namespace OHOS