1/*
2 * Copyright (c) 2024 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, Hardware
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 "drawing_rect.h"
19#include "drawing_region.h"
20
21using namespace testing;
22using namespace testing::ext;
23
24namespace OHOS {
25namespace Rosen {
26namespace Drawing {
27class NativeDrawingRegionTest : public testing::Test {
28public:
29    static void SetUpTestCase();
30    static void TearDownTestCase();
31    void SetUp() override;
32    void TearDown() override;
33};
34
35void NativeDrawingRegionTest::SetUpTestCase() {}
36void NativeDrawingRegionTest::TearDownTestCase() {}
37void NativeDrawingRegionTest::SetUp() {}
38void NativeDrawingRegionTest::TearDown() {}
39
40/*
41 * @tc.name: NativeDrawingRegionTest_region001
42 * @tc.desc: test for create drawing_region.
43 * @tc.size  : MediumTest
44 * @tc.type  : Function
45 * @tc.level : Level 1
46 */
47HWTEST_F(NativeDrawingRegionTest, NativeDrawingRegionTest_region001, TestSize.Level1)
48{
49    OH_Drawing_Region* region = OH_Drawing_RegionCreate();
50    EXPECT_NE(region, nullptr);
51    OH_Drawing_RegionDestroy(region);
52}
53
54/*
55 * @tc.name: NativeDrawingRegionSetRectTest_region002
56 * @tc.desc: test for constructs a rectangular Region matching the bounds of rect.
57 * @tc.size  : MediumTest
58 * @tc.type  : Function
59 * @tc.level : Level 1
60 */
61HWTEST_F(NativeDrawingRegionTest, NativeDrawingRegionSetRectTest_region002, TestSize.Level1)
62{
63    OH_Drawing_Region* region = OH_Drawing_RegionCreate();
64    OH_Drawing_Rect* rect=OH_Drawing_RectCreate(0.0f, 0.0f, 256.0f, 256.0f);
65    EXPECT_TRUE(OH_Drawing_RegionSetRect(region, rect));
66    OH_Drawing_RegionDestroy(region);
67    OH_Drawing_RectDestroy(rect);
68}
69} // namespace Drawing
70} // namespace Rosen
71} // namespace OHOS