• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 "draw/path_iterator.h"
19 #include "draw/path.h"
20 
21 using namespace testing;
22 using namespace testing::ext;
23 
24 namespace OHOS {
25 namespace Rosen {
26 namespace Drawing {
27 class PathIteratorTest : public testing::Test {
28 public:
29     static void SetUpTestCase();
30     static void TearDownTestCase();
31     void SetUp() override;
32     void TearDown() override;
33 };
34 
SetUpTestCase()35 void PathIteratorTest::SetUpTestCase() {}
TearDownTestCase()36 void PathIteratorTest::TearDownTestCase() {}
SetUp()37 void PathIteratorTest::SetUp() {}
TearDown()38 void PathIteratorTest::TearDown() {}
39 
40 /**
41  * @tc.name: CreatePathIterator001
42  * @tc.desc: test for creating pathIterator with path.
43  * @tc.type: FUNC
44  * @tc.require: IB0SY6
45  */
46 HWTEST_F(PathIteratorTest, CreatePathIterator001, TestSize.Level1)
47 {
48     auto path = std::make_unique<Path>();
49     std::unique_ptr<PathIterator> iter = std::make_unique<PathIterator>(*path);
50     ASSERT_TRUE(iter != nullptr);
51 }
52 
53 /**
54  * @tc.name: NextTest001
55  * @tc.desc: test for next func.
56  * @tc.type: FUNC
57  * @tc.require: IB0SY6
58  */
59 HWTEST_F(PathIteratorTest, NextTest001, TestSize.Level1)
60 {
61     auto path = std::make_unique<Path>();
62     ASSERT_TRUE(path != nullptr);
63     // 4.5f, 5.0f for test
64     path->MoveTo(4.5f, 5.0f);
65     std::unique_ptr<PathIterator> iter = std::make_unique<PathIterator>(*path);
66     ASSERT_TRUE(iter != nullptr);
67     // 0, 0 for test
68     Point points[4] = { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } };
69     // 0 for test
70     auto verb = iter->Next(points);
71     ASSERT_TRUE(verb == PathVerb::MOVE);
72 }
73 
74 /**
75  * @tc.name: PeekTest001
76  * @tc.desc: test for peek func.
77  * @tc.type: FUNC
78  * @tc.require: IB0SY6
79  */
80 HWTEST_F(PathIteratorTest, PeekTest001, TestSize.Level1)
81 {
82     auto path = std::make_unique<Path>();
83     ASSERT_TRUE(path != nullptr);
84     // 4.5f, 5.0f for test
85     path->MoveTo(4.5f, 5.0f);
86     std::unique_ptr<PathIterator> iter = std::make_unique<PathIterator>(*path);
87     ASSERT_TRUE(iter != nullptr);
88     auto verb = iter->Peek();
89     ASSERT_TRUE(verb == PathVerb::MOVE);
90 }
91 } // namespace Drawing
92 } // namespace Rosen
93 } // namespace OHOS