• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-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 
18 #include "ans_log_wrapper.h"
19 #include "reminder_request_timer.h"
20 #include "reminder_helper.h"
21 
22 using namespace testing::ext;
23 namespace OHOS {
24 namespace Notification {
25 class ReminderRequestTimerTest : public testing::Test {
26 public:
SetUp()27     void SetUp() {}
TearDown()28     void TearDown()
29     {
30         ReminderHelper::CancelAllReminders();
31     }
SetUpTestCase()32     static void SetUpTestCase()
33     {
34         ReminderHelper::CancelAllReminders();
35     }
TearDownTestCase()36     static void TearDownTestCase() {}
37 };
38 
39 /**
40  * @tc.name: initCountDownTime_00100
41  * @tc.desc: set countDownTime with normal value.
42  * @tc.type: FUNC
43  * @tc.require: SR000GGTRC AR000GH8E8
44  */
45 HWTEST_F(ReminderRequestTimerTest, initCountDownTime_00100, Function | SmallTest | Level1)
46 {
47     uint64_t countDownTimeInSeconds = 1;
48     auto rrc = std::make_shared<ReminderRequestTimer>(countDownTimeInSeconds);
49     EXPECT_TRUE(rrc->GetInitInfo() == 1) << "countDownTime is not 1";
50 
51     countDownTimeInSeconds = 10;
52     auto rrc2 = std::make_shared<ReminderRequestTimer>(countDownTimeInSeconds);
53     EXPECT_TRUE(rrc2->GetInitInfo() == 10) << "countDownTime is not 10";
54 
55     countDownTimeInSeconds = 100;
56     auto rrc3 = std::make_shared<ReminderRequestTimer>(countDownTimeInSeconds);
57     EXPECT_TRUE(rrc3->GetInitInfo() == 100) << "countDownTime is not 1";
58 }
59 
60 /**
61  * @tc.number    : ANS_OnDateTimeChange_01000
62  * @tc.name      : OnDateTimeChange01000
63  * @tc.type      : FUNC
64  * @tc.require   : issueI5R30Z
65  */
66 HWTEST_F(ReminderRequestTimerTest, OnDateTimeChange_00100, Function | SmallTest | Level1)
67 {
68     uint64_t countDownTimeInSeconds = 1;
69     auto rrc = std::make_shared<ReminderRequestTimer>(countDownTimeInSeconds);
70     auto result = rrc->OnDateTimeChange();
71     EXPECT_EQ(result, false);
72 }
73 
74 /**
75  * @tc.number    : ANS_OnTimeZoneChange_01000
76  * @tc.name      : OnTimeZoneChange01000
77  * @tc.type      : FUNC
78  * @tc.require   : issueI5R30Z
79  */
80 HWTEST_F(ReminderRequestTimerTest, OnTimeZoneChange_00100, Function | SmallTest | Level1)
81 {
82     uint64_t countDownTimeInSeconds = 1;
83     auto rrc = std::make_shared<ReminderRequestTimer>(countDownTimeInSeconds);
84     auto result = rrc->OnTimeZoneChange();
85     EXPECT_EQ(result, false);
86 }
87 
88 /**
89  * @tc.number    : ANS_Marshalling_01000
90  * @tc.name      : Marshalling01000
91  * @tc.type      : FUNC
92  * @tc.require   : issueI5R30Z
93  */
94 HWTEST_F(ReminderRequestTimerTest, Marshalling_00100, Function | SmallTest | Level1)
95 {
96     uint64_t countDownTimeInSeconds = 1;
97     Parcel parcel;
98     auto rrc = std::make_shared<ReminderRequestTimer>(countDownTimeInSeconds);
99     auto result = rrc->Marshalling(parcel);
100     EXPECT_EQ(result, true);
101 }
102 
103 /**
104  * @tc.number    : ANS_ReadFromParcel_01000
105  * @tc.name      : ReadFromParcel01000
106  * @tc.type      : FUNC
107  * @tc.require   : issueI5R30Z
108  */
109 HWTEST_F(ReminderRequestTimerTest, ReadFromParcel_00100, Function | SmallTest | Level1)
110 {
111     uint64_t countDownTimeInSeconds = 1;
112     Parcel parcel;
113     auto rrc = std::make_shared<ReminderRequestTimer>(countDownTimeInSeconds);
114     auto result = rrc->ReadFromParcel(parcel);
115     EXPECT_EQ(result, false);
116 }
117 
118 /**
119  * @tc.name: SetHour_001
120  * @tc.desc: Test SetHour parameters.
121  * @tc.type: FUNC
122  * @tc.require:I9BM6I
123  */
124 HWTEST_F(ReminderRequestTimerTest, SetInitInfo_001, Function | SmallTest | Level1)
125 {
126     ReminderRequestTimer timer(1);
127     EXPECT_EQ(timer.GetInitInfo(), 0);
128 
129     timer.SetInitInfo(120);
130     EXPECT_EQ(timer.GetInitInfo(), 120);
131 }
132 
133 /**
134  * @tc.name: UpdateNextReminder_001
135  * @tc.desc: Test UpdateNextReminder parameters.
136  * @tc.type: FUNC
137  * @tc.require:I9BM6I
138  */
139 HWTEST_F(ReminderRequestTimerTest, UpdateNextReminder_001, Function | SmallTest | Level1)
140 {
141     ReminderRequestTimer timer(1);
142     EXPECT_EQ(timer.UpdateNextReminder(), false);
143 }
144 
145 /**
146  * @tc.name: PreGetNextTriggerTimeIgnoreSnooze_001
147  * @tc.desc: Test PreGetNextTriggerTimeIgnoreSnooze parameters.
148  * @tc.type: FUNC
149  * @tc.require:I9BM6I
150  */
151 HWTEST_F(ReminderRequestTimerTest, PreGetNextTriggerTimeIgnoreSnooze_001, Function | SmallTest | Level1)
152 {
153     ReminderRequestTimer timer(1);
154     EXPECT_EQ(timer.PreGetNextTriggerTimeIgnoreSnooze(true, true), ReminderRequest::INVALID_LONG_LONG_VALUE);
155 }
156 
157 /**
158  * @tc.name: CheckParamsValid_001
159  * @tc.desc: Test CheckParamsValid parameters.
160  * @tc.type: FUNC
161  * @tc.require:I9BM6I
162  */
163 HWTEST_F(ReminderRequestTimerTest, CheckParamsValid_001, Function | SmallTest | Level1)
164 {
165     ReminderRequestTimer timer(1);
166     timer.SetInitInfo(0);
167     timer.CheckParamsValid(0);
168     EXPECT_EQ(timer.GetInitInfo(), 0);
169 
170     timer.SetInitInfo(UINT64_MAX);
171     timer.CheckParamsValid(UINT64_MAX);
172     EXPECT_EQ(timer.GetInitInfo(), UINT64_MAX);
173 
174     timer.SetInitInfo(5555);
175     timer.CheckParamsValid(5555);
176     EXPECT_EQ(timer.GetInitInfo(), 5555);
177 }
178 
179 /**
180  * @tc.name: Construct_001
181  * @tc.desc: Test Construct parameters.
182  * @tc.type: FUNC
183  * @tc.require:I9BM6I
184  */
185 HWTEST_F(ReminderRequestTimerTest, Construct_001, Function | SmallTest | Level1)
186 {
187     ReminderRequestTimer timer1(35);
188     EXPECT_EQ(timer1.GetReminderId(), 35);
189 
190     ReminderRequestTimer timer2((uint64_t)60);
191     EXPECT_EQ(timer2.GetInitInfo(), 60);
192 
193     ReminderRequestTimer timer3(timer2);
194     EXPECT_EQ(timer3.GetInitInfo(), 60);
195 
196     ReminderRequestTimer timer4;
197     EXPECT_EQ(timer4.GetReminderId(), -1);
198 }
199 
200 /**
201  * @tc.name: ReminderRequestTimerTest_001
202  * @tc.desc: Test CheckParamsValid parameters.
203  * @tc.type: FUNC
204  * @tc.require:I9BM6I
205  */
206 HWTEST_F(ReminderRequestTimerTest, ReminderRequestTimerTest_001, Function | SmallTest | Level1)
207 {
208     ReminderRequestTimer timer1(35);
209     timer1.CheckParamsValid(0);
210     timer1.CheckParamsValid(UINT64_MAX);
211     timer1.CheckParamsValid(100);
212     EXPECT_EQ(timer1.GetReminderId(), 35);
213 }
214 
215 /**
216  * @tc.name: Unmarshalling_00001
217  * @tc.desc: Test Unmarshalling parameters.
218  * @tc.type: FUNC
219  * @tc.require: issueI5VB6V
220  */
221 HWTEST_F(ReminderRequestTimerTest, ReminderRequestTimerTest_002, Function | SmallTest | Level1)
222 {
223     ReminderRequestTimer timer(35);
224     Parcel parcel;
225     bool result = false;
226     if (nullptr == timer.Unmarshalling(parcel)) {
227         result = true;
228     }
229     EXPECT_EQ(true, result);
230 }
231 }
232 }