1e0dac50fSopenharmony_ci/* 2e0dac50fSopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 3e0dac50fSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4e0dac50fSopenharmony_ci * you may not use this file except in compliance with the License. 5e0dac50fSopenharmony_ci * You may obtain a copy of the License at 6e0dac50fSopenharmony_ci * 7e0dac50fSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8e0dac50fSopenharmony_ci * 9e0dac50fSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10e0dac50fSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11e0dac50fSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12e0dac50fSopenharmony_ci * See the License for the specific language governing permissions and 13e0dac50fSopenharmony_ci * limitations under the License. 14e0dac50fSopenharmony_ci */ 15e0dac50fSopenharmony_ci 16e0dac50fSopenharmony_ci#include <gtest/gtest.h> 17e0dac50fSopenharmony_ci#include "cutout_info.h" 18e0dac50fSopenharmony_ci 19e0dac50fSopenharmony_ciusing namespace testing; 20e0dac50fSopenharmony_ciusing namespace testing::ext; 21e0dac50fSopenharmony_ci 22e0dac50fSopenharmony_cinamespace OHOS { 23e0dac50fSopenharmony_cinamespace Rosen { 24e0dac50fSopenharmony_ciclass CutoutInfoTest : public testing::Test { 25e0dac50fSopenharmony_cipublic: 26e0dac50fSopenharmony_ci static void SetUpTestCase(); 27e0dac50fSopenharmony_ci static void TearDownTestCase(); 28e0dac50fSopenharmony_ci void SetUp() override; 29e0dac50fSopenharmony_ci void TearDown() override; 30e0dac50fSopenharmony_ci}; 31e0dac50fSopenharmony_ci 32e0dac50fSopenharmony_civoid CutoutInfoTest::SetUpTestCase() 33e0dac50fSopenharmony_ci{ 34e0dac50fSopenharmony_ci} 35e0dac50fSopenharmony_ci 36e0dac50fSopenharmony_civoid CutoutInfoTest::TearDownTestCase() 37e0dac50fSopenharmony_ci{ 38e0dac50fSopenharmony_ci} 39e0dac50fSopenharmony_ci 40e0dac50fSopenharmony_civoid CutoutInfoTest::SetUp() 41e0dac50fSopenharmony_ci{ 42e0dac50fSopenharmony_ci} 43e0dac50fSopenharmony_ci 44e0dac50fSopenharmony_civoid CutoutInfoTest::TearDown() 45e0dac50fSopenharmony_ci{ 46e0dac50fSopenharmony_ci} 47e0dac50fSopenharmony_ci 48e0dac50fSopenharmony_cinamespace { 49e0dac50fSopenharmony_ci/** 50e0dac50fSopenharmony_ci * @tc.name: WriteBoundingRectsVector01 51e0dac50fSopenharmony_ci * @tc.desc: WriteBoundingRectsVector test 52e0dac50fSopenharmony_ci * @tc.type: FUNC 53e0dac50fSopenharmony_ci */ 54e0dac50fSopenharmony_ciHWTEST_F(CutoutInfoTest, WriteBoundingRectsVector01, Function | SmallTest | Level2) 55e0dac50fSopenharmony_ci{ 56e0dac50fSopenharmony_ci sptr<CutoutInfo> info = new CutoutInfo(); 57e0dac50fSopenharmony_ci DMRect rect = {0, 0, 0, 0}; 58e0dac50fSopenharmony_ci std::vector<DMRect> boundingRects; 59e0dac50fSopenharmony_ci boundingRects.emplace_back(rect); 60e0dac50fSopenharmony_ci Parcel parcel; 61e0dac50fSopenharmony_ci bool ret = info->WriteBoundingRectsVector(boundingRects, parcel); 62e0dac50fSopenharmony_ci ASSERT_TRUE(ret); 63e0dac50fSopenharmony_ci} 64e0dac50fSopenharmony_ci 65e0dac50fSopenharmony_ci/** 66e0dac50fSopenharmony_ci * @tc.name: WriteBoundingRectsVector02 67e0dac50fSopenharmony_ci * @tc.desc: WriteBoundingRectsVector test 68e0dac50fSopenharmony_ci * @tc.type: FUNC 69e0dac50fSopenharmony_ci */ 70e0dac50fSopenharmony_ciHWTEST_F(CutoutInfoTest, WriteBoundingRectsVector02, Function | SmallTest | Level2) 71e0dac50fSopenharmony_ci{ 72e0dac50fSopenharmony_ci sptr<CutoutInfo> info = new CutoutInfo(); 73e0dac50fSopenharmony_ci std::vector<DMRect> boundingRects; 74e0dac50fSopenharmony_ci for (int i = 0; i < 21 ; i++){ // MAX_CUTOUT_INFO_SIZE + 1 75e0dac50fSopenharmony_ci DMRect rect = {0, 0, 0, 0}; 76e0dac50fSopenharmony_ci boundingRects.emplace_back(rect); 77e0dac50fSopenharmony_ci } 78e0dac50fSopenharmony_ci Parcel parcel; 79e0dac50fSopenharmony_ci bool ret = info->WriteBoundingRectsVector(boundingRects, parcel); 80e0dac50fSopenharmony_ci ASSERT_FALSE(ret); 81e0dac50fSopenharmony_ci} 82e0dac50fSopenharmony_ci 83e0dac50fSopenharmony_ci/** 84e0dac50fSopenharmony_ci * @tc.name: ReadBoundingRectsVector01 85e0dac50fSopenharmony_ci * @tc.desc: ReadBoundingRectsVector test 86e0dac50fSopenharmony_ci * @tc.type: FUNC 87e0dac50fSopenharmony_ci */ 88e0dac50fSopenharmony_ciHWTEST_F(CutoutInfoTest, ReadBoundingRectsVector01, Function | SmallTest | Level2) 89e0dac50fSopenharmony_ci{ 90e0dac50fSopenharmony_ci sptr<CutoutInfo> info = new CutoutInfo(); 91e0dac50fSopenharmony_ci DMRect rect = {0, 0, 0, 0}; 92e0dac50fSopenharmony_ci std::vector<DMRect> boundingRects; 93e0dac50fSopenharmony_ci boundingRects.emplace_back(rect); 94e0dac50fSopenharmony_ci Parcel parcel; 95e0dac50fSopenharmony_ci bool ret = info->ReadBoundingRectsVector(boundingRects, parcel); 96e0dac50fSopenharmony_ci ASSERT_FALSE(ret); 97e0dac50fSopenharmony_ci} 98e0dac50fSopenharmony_ci 99e0dac50fSopenharmony_ci/** 100e0dac50fSopenharmony_ci * @tc.name: ReadBoundingRectsVector02 101e0dac50fSopenharmony_ci * @tc.desc: ReadBoundingRectsVector test 102e0dac50fSopenharmony_ci * @tc.type: FUNC 103e0dac50fSopenharmony_ci */ 104e0dac50fSopenharmony_ciHWTEST_F(CutoutInfoTest, ReadBoundingRectsVector02, Function | SmallTest | Level2) 105e0dac50fSopenharmony_ci{ 106e0dac50fSopenharmony_ci sptr<CutoutInfo> info = new CutoutInfo(); 107e0dac50fSopenharmony_ci std::vector<DMRect> boundingRects; 108e0dac50fSopenharmony_ci for (int i = 0; i < 21 ; i++){ // MAX_CUTOUT_INFO_SIZE + 1 109e0dac50fSopenharmony_ci DMRect rect = {0, 0, 0, 0}; 110e0dac50fSopenharmony_ci boundingRects.emplace_back(rect); 111e0dac50fSopenharmony_ci } 112e0dac50fSopenharmony_ci Parcel parcel; 113e0dac50fSopenharmony_ci bool ret = info->ReadBoundingRectsVector(boundingRects, parcel); 114e0dac50fSopenharmony_ci ASSERT_FALSE(ret); 115e0dac50fSopenharmony_ci} 116e0dac50fSopenharmony_ci} 117e0dac50fSopenharmony_ci} // namespace Rosen 118e0dac50fSopenharmony_ci} // namespace OHOS