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