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 "cutout_info.h" 18 19using namespace testing; 20using namespace testing::ext; 21 22namespace OHOS { 23namespace Rosen { 24class CutoutInfoTest : public testing::Test { 25public: 26 static void SetUpTestCase(); 27 static void TearDownTestCase(); 28 void SetUp() override; 29 void TearDown() override; 30}; 31 32void CutoutInfoTest::SetUpTestCase() 33{ 34} 35 36void CutoutInfoTest::TearDownTestCase() 37{ 38} 39 40void CutoutInfoTest::SetUp() 41{ 42} 43 44void CutoutInfoTest::TearDown() 45{ 46} 47 48namespace { 49/** 50 * @tc.name: WriteBoundingRectsVector01 51 * @tc.desc: WriteBoundingRectsVector test 52 * @tc.type: FUNC 53 */ 54HWTEST_F(CutoutInfoTest, WriteBoundingRectsVector01, Function | SmallTest | Level2) 55{ 56 sptr<CutoutInfo> info = new CutoutInfo(); 57 DMRect rect = {0, 0, 0, 0}; 58 std::vector<DMRect> boundingRects; 59 boundingRects.emplace_back(rect); 60 Parcel parcel; 61 bool ret = info->WriteBoundingRectsVector(boundingRects, parcel); 62 ASSERT_TRUE(ret); 63} 64 65/** 66 * @tc.name: WriteBoundingRectsVector02 67 * @tc.desc: WriteBoundingRectsVector test 68 * @tc.type: FUNC 69 */ 70HWTEST_F(CutoutInfoTest, WriteBoundingRectsVector02, Function | SmallTest | Level2) 71{ 72 sptr<CutoutInfo> info = new CutoutInfo(); 73 std::vector<DMRect> boundingRects; 74 for (int i = 0; i < 21 ; i++){ // MAX_CUTOUT_INFO_SIZE + 1 75 DMRect rect = {0, 0, 0, 0}; 76 boundingRects.emplace_back(rect); 77 } 78 Parcel parcel; 79 bool ret = info->WriteBoundingRectsVector(boundingRects, parcel); 80 ASSERT_FALSE(ret); 81} 82 83/** 84 * @tc.name: ReadBoundingRectsVector01 85 * @tc.desc: ReadBoundingRectsVector test 86 * @tc.type: FUNC 87 */ 88HWTEST_F(CutoutInfoTest, ReadBoundingRectsVector01, Function | SmallTest | Level2) 89{ 90 sptr<CutoutInfo> info = new CutoutInfo(); 91 DMRect rect = {0, 0, 0, 0}; 92 std::vector<DMRect> boundingRects; 93 boundingRects.emplace_back(rect); 94 Parcel parcel; 95 bool ret = info->ReadBoundingRectsVector(boundingRects, parcel); 96 ASSERT_FALSE(ret); 97} 98 99/** 100 * @tc.name: ReadBoundingRectsVector02 101 * @tc.desc: ReadBoundingRectsVector test 102 * @tc.type: FUNC 103 */ 104HWTEST_F(CutoutInfoTest, ReadBoundingRectsVector02, Function | SmallTest | Level2) 105{ 106 sptr<CutoutInfo> info = new CutoutInfo(); 107 std::vector<DMRect> boundingRects; 108 for (int i = 0; i < 21 ; i++){ // MAX_CUTOUT_INFO_SIZE + 1 109 DMRect rect = {0, 0, 0, 0}; 110 boundingRects.emplace_back(rect); 111 } 112 Parcel parcel; 113 bool ret = info->ReadBoundingRectsVector(boundingRects, parcel); 114 ASSERT_FALSE(ret); 115} 116} 117} // namespace Rosen 118} // namespace OHOS