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 #include <gtest/gtest.h>
17 #include "ability_info.h"
18 #include "mission.h"
19 #include "mission_info.h"
20 
21 using namespace testing::ext;
22 using namespace OHOS::AppExecFwk;
23 
24 namespace OHOS {
25 namespace AAFwk {
26 class MissionInfoTest : public testing::Test {
27 public:
28     static void SetUpTestCase(void);
29     static void TearDownTestCase(void);
30     void SetUp();
31     void TearDown();
32 };
33 
SetUpTestCase(void)34 void MissionInfoTest::SetUpTestCase(void)
35 {}
TearDownTestCase(void)36 void MissionInfoTest::TearDownTestCase(void)
37 {}
SetUp(void)38 void MissionInfoTest::SetUp(void)
39 {}
TearDown(void)40 void MissionInfoTest::TearDown(void)
41 {}
42 
43 /*
44  * Feature: Mission Info
45  * Function: Marshalling and Unmarshalling
46  * SubFunction: NA
47  * FunctionPoints: Mission Marshalling
48  * EnvConditions: NA
49  * CaseDescription: Verify Marshalling
50  */
51 HWTEST_F(MissionInfoTest, mission_info_marshalling_001, TestSize.Level1)
52 {
53     Parcel parcel;
54     MissionInfo* parcelable1 = new MissionInfo();
55     parcelable1->id = 1;
56     parcelable1->runningState = 100;
57     parcelable1->lockedState = true;
58     parcelable1->continuable = true;
59     parcelable1->time = "time";
60     parcelable1->label = "label";
61     parcelable1->iconPath = "iconpath";
62     parcelable1->continueState = AAFwk::ContinueState::CONTINUESTATE_ACTIVE;
63     EXPECT_EQ(true, parcelable1->Marshalling(parcel));
64     MissionInfo* parcelable2 = parcelable1->Unmarshalling(parcel);
65     EXPECT_EQ(parcelable2->id, 1);
66     EXPECT_EQ(parcelable2->runningState, 100);
67     EXPECT_EQ(parcelable2->lockedState, true);
68     EXPECT_EQ(parcelable2->continuable, true);
69     EXPECT_EQ(parcelable2->time, "time");
70     EXPECT_EQ(parcelable2->label, "label");
71     EXPECT_EQ(parcelable2->iconPath, "iconpath");
72     EXPECT_EQ(parcelable2->continueState, AAFwk::ContinueState::CONTINUESTATE_ACTIVE);
73 }
74 
75 /*
76  * Feature: Mission Info
77  * Function: ReadFromParcel
78  * SubFunction: NA
79  * FunctionPoints: Mission ReadFromParcel
80  */
81 HWTEST_F(MissionInfoTest, mission_info_dto_ReadFromParcel_0100, TestSize.Level1)
82 {
83     InnerMissionInfoDto info;
84     MessageParcel parcel;
85     EXPECT_FALSE(info.ReadFromParcel(parcel));
86 }
87 
88 /*
89  * Feature: Mission Info
90  * Function: Marshalling
91  * SubFunction: NA
92  * FunctionPoints: Mission Marshalling
93  */
94 HWTEST_F(MissionInfoTest, mission_info_dto_Marshalling_0100, TestSize.Level1)
95 {
96     InnerMissionInfoDto info;
97     MessageParcel parcel;
98     EXPECT_TRUE(info.Marshalling(parcel));
99 }
100 
101 /*
102  * Feature: Mission Info
103  * Function: Marshalling
104  * SubFunction: NA
105  * FunctionPoints: Mission Marshalling
106  */
107 HWTEST_F(MissionInfoTest, mission_info_dto_Unmarshalling_0100, TestSize.Level1)
108 {
109     InnerMissionInfoDto info;
110     MessageParcel parcel;
111     EXPECT_FALSE(info.Unmarshalling(parcel));
112 }
113 }
114 }