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 }