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 18e0dac50fSopenharmony_ci#include "screen_info.h" 19e0dac50fSopenharmony_ci 20e0dac50fSopenharmony_ciusing namespace testing; 21e0dac50fSopenharmony_ciusing namespace testing::ext; 22e0dac50fSopenharmony_ci 23e0dac50fSopenharmony_cinamespace OHOS { 24e0dac50fSopenharmony_cinamespace Rosen { 25e0dac50fSopenharmony_ciclass ScreenInfoTest : public testing::Test { 26e0dac50fSopenharmony_cipublic: 27e0dac50fSopenharmony_ci static void SetUpTestCase(); 28e0dac50fSopenharmony_ci static void TearDownTestCase(); 29e0dac50fSopenharmony_ci virtual void SetUp() override; 30e0dac50fSopenharmony_ci virtual void TearDown() override; 31e0dac50fSopenharmony_ci}; 32e0dac50fSopenharmony_ci 33e0dac50fSopenharmony_civoid ScreenInfoTest::SetUpTestCase() 34e0dac50fSopenharmony_ci{ 35e0dac50fSopenharmony_ci} 36e0dac50fSopenharmony_ci 37e0dac50fSopenharmony_civoid ScreenInfoTest::TearDownTestCase() 38e0dac50fSopenharmony_ci{ 39e0dac50fSopenharmony_ci} 40e0dac50fSopenharmony_ci 41e0dac50fSopenharmony_civoid ScreenInfoTest::SetUp() 42e0dac50fSopenharmony_ci{ 43e0dac50fSopenharmony_ci} 44e0dac50fSopenharmony_ci 45e0dac50fSopenharmony_civoid ScreenInfoTest::TearDown() 46e0dac50fSopenharmony_ci{ 47e0dac50fSopenharmony_ci} 48e0dac50fSopenharmony_ci 49e0dac50fSopenharmony_cinamespace { 50e0dac50fSopenharmony_ci/** 51e0dac50fSopenharmony_ci * @tc.name: MarshallingUnmarshalling 52e0dac50fSopenharmony_ci * @tc.desc: Marshalling Unmarshalling test 53e0dac50fSopenharmony_ci * @tc.type: FUNC 54e0dac50fSopenharmony_ci */ 55e0dac50fSopenharmony_ciHWTEST_F(ScreenInfoTest, MarshallingUnmarshalling, Function | SmallTest | Level2) 56e0dac50fSopenharmony_ci{ 57e0dac50fSopenharmony_ci ScreenInfo screenInfoSrc; 58e0dac50fSopenharmony_ci screenInfoSrc.SetScreenId(1); 59e0dac50fSopenharmony_ci 60e0dac50fSopenharmony_ci Parcel parcel; 61e0dac50fSopenharmony_ci screenInfoSrc.Marshalling(parcel); 62e0dac50fSopenharmony_ci ScreenInfo* screenInfoDst = screenInfoSrc.Unmarshalling(parcel); 63e0dac50fSopenharmony_ci 64e0dac50fSopenharmony_ci ASSERT_EQ(screenInfoDst->GetScreenId(), 1); 65e0dac50fSopenharmony_ci delete screenInfoDst; 66e0dac50fSopenharmony_ci} 67e0dac50fSopenharmony_ci 68e0dac50fSopenharmony_ci/** 69e0dac50fSopenharmony_ci * @tc.name: Marshalling 70e0dac50fSopenharmony_ci * @tc.desc: Marshalling test 71e0dac50fSopenharmony_ci * @tc.type: FUNC 72e0dac50fSopenharmony_ci */ 73e0dac50fSopenharmony_ciHWTEST_F(ScreenInfoTest, Marshalling, Function | SmallTest | Level2) 74e0dac50fSopenharmony_ci{ 75e0dac50fSopenharmony_ci ScreenInfo screenInfoSrc; 76e0dac50fSopenharmony_ci screenInfoSrc.SetScreenId(1); 77e0dac50fSopenharmony_ci 78e0dac50fSopenharmony_ci Parcel parcel; 79e0dac50fSopenharmony_ci bool result = screenInfoSrc.Marshalling(parcel); 80e0dac50fSopenharmony_ci ASSERT_TRUE(result); 81e0dac50fSopenharmony_ci} 82e0dac50fSopenharmony_ci 83e0dac50fSopenharmony_ci/** 84e0dac50fSopenharmony_ci * @tc.name: InnerUnmarshalling 85e0dac50fSopenharmony_ci * @tc.desc: InnerUnmarshalling test 86e0dac50fSopenharmony_ci * @tc.type: FUNC 87e0dac50fSopenharmony_ci */ 88e0dac50fSopenharmony_ciHWTEST_F(ScreenInfoTest, InnerUnmarshalling, Function | SmallTest | Level2) 89e0dac50fSopenharmony_ci{ 90e0dac50fSopenharmony_ci ScreenInfo screenInfoSrc; 91e0dac50fSopenharmony_ci Parcel parcel; 92e0dac50fSopenharmony_ci parcel.WriteUint32(21); // MAX_SUPPORTED_SCREEN_MODES_SIZE + 1 93e0dac50fSopenharmony_ci bool result = screenInfoSrc.InnerUnmarshalling(parcel); 94e0dac50fSopenharmony_ci ASSERT_FALSE(result); 95e0dac50fSopenharmony_ci} 96e0dac50fSopenharmony_ci} 97e0dac50fSopenharmony_ci} // namespace Rosen 98e0dac50fSopenharmony_ci} // namespace OHOS