1/*
2 * Copyright (c) 2023 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 "surface_reader.h"
17#include <gtest/gtest.h>
18#include <unistd.h>
19
20using namespace testing;
21using namespace testing::ext;
22namespace OHOS {
23namespace Rosen {
24class SurfaceReaderTest : public testing::Test {
25  public:
26    SurfaceReaderTest() {}
27    ~SurfaceReaderTest() {}
28};
29
30namespace {
31/**
32 * @tc.name: Init
33 * @tc.desc: normal function
34 * @tc.type: FUNC
35 */
36HWTEST_F(SurfaceReaderTest, Init, Function | SmallTest | Level2)
37{
38    GTEST_LOG_(INFO) << "SurfaceReaderTest: Init start";
39    SurfaceReader* reader = new(std::nothrow) SurfaceReader();
40    bool res = reader->Init();
41    ASSERT_EQ(res, true);
42    delete reader;
43    GTEST_LOG_(INFO) << "SurfaceReaderTest: Init end";
44}
45/**
46 * @tc.name: OnVsync
47 * @tc.desc: normal function
48 * @tc.type: FUNC
49 */
50HWTEST_F(SurfaceReaderTest, OnVsync, Function | SmallTest | Level2)
51{
52    SurfaceReader* reader = new(std::nothrow) SurfaceReader();
53    bool res = reader->Init();
54    reader->OnVsync();
55    delete reader;
56    ASSERT_EQ(res, true);
57}
58/**
59 * @tc.name: GetSurface
60 * @tc.desc: normal function
61 * @tc.type: FUNC
62 */
63HWTEST_F(SurfaceReaderTest, GetSurface, Function | SmallTest | Level2)
64{
65    SurfaceReader* reader = new(std::nothrow) SurfaceReader();
66    reader->Init();
67    sptr<Surface> surface = reader->GetSurface();
68    ASSERT_NE(surface, nullptr);
69    delete reader;
70}
71/**
72 * @tc.name: SetHandler
73 * @tc.desc: normal function
74 * @tc.type: FUNC
75 */
76HWTEST_F(SurfaceReaderTest, SetHandler, Function | SmallTest | Level2)
77{
78    SurfaceReader* reader = new(std::nothrow) SurfaceReader();
79    reader->SetHandler(nullptr);
80    ASSERT_TRUE(true);
81    delete reader;
82}
83} // namespace
84}
85}
86