1 /* 2 * Copyright (c) 2025 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 #include "ge_wavy_ripple_light_shader.h" 18 #include "ge_external_dynamic_loader.h" 19 #include "ge_visual_effect_impl.h" 20 #include "draw/path.h" 21 22 using namespace testing; 23 using namespace testing::ext; 24 25 namespace OHOS { 26 namespace Rosen { 27 28 class GEWavyRippleLightShaderTest : public testing::Test { 29 public: SetUpTestCase()30 static void SetUpTestCase() 31 {} TearDownTestCase()32 static void TearDownTestCase() 33 {} SetUp()34 void SetUp() override 35 {} TearDown()36 void TearDown() override 37 {} 38 }; 39 40 /** 41 * @tc.name: GEWavyRippleLightShaderTest001 42 * @tc.type: FUNC 43 */ 44 HWTEST_F(GEWavyRippleLightShaderTest, GEWavyRippleLightShaderTest001, TestSize.Level1) 45 { 46 Drawing::GEWavyRippleLightShaderParams params{{0.0f, 0.2f}, 0.5f, 0.2f}; 47 auto shader = GEWavyRippleLightShader::CreateWavyRippleLightShader(params); 48 EXPECT_NE(shader, nullptr); 49 } 50 51 /** 52 * @tc.name: GEWavyRippleLightShaderTest002 53 * @tc.type: FUNC 54 */ 55 HWTEST_F(GEWavyRippleLightShaderTest, GEWavyRippleLightShaderTest002, TestSize.Level1) 56 { 57 Drawing::GEWavyRippleLightShaderParams params{{0.5f, 0.3f}, 0.1f, 0.5f}; 58 auto shader = GEWavyRippleLightShader::CreateWavyRippleLightShader(params); 59 ASSERT_NE(shader, nullptr); 60 61 auto builder1 = shader->GetWavyRippleLightBuilder(); 62 EXPECT_NE(builder1, nullptr); 63 auto builder2 = shader->GetWavyRippleLightBuilder(); 64 EXPECT_NE(builder2, nullptr); 65 } 66 67 /** 68 * @tc.name: GEWavyRippleLightShaderTest003 69 * @tc.type: FUNC 70 */ 71 HWTEST_F(GEWavyRippleLightShaderTest, GEWavyRippleLightShaderTest003, TestSize.Level1) 72 { 73 Drawing::GEWavyRippleLightShaderParams params{{0.5f, 0.3f}, 0.1f, 0.1f}; 74 auto shader = GEWavyRippleLightShader::CreateWavyRippleLightShader(params); 75 ASSERT_NE(shader, nullptr); 76 77 Drawing::Rect rect{0, 0, 100, 100}; 78 auto effect = shader->MakeWavyRippleLightShader(rect); 79 EXPECT_NE(effect, nullptr); 80 } 81 82 /** 83 * @tc.name: GEWavyRippleLightShaderTest004 84 * @tc.type: FUNC 85 */ 86 HWTEST_F(GEWavyRippleLightShaderTest, GEWavyRippleLightShaderTest004, TestSize.Level1) 87 { 88 Drawing::GEWavyRippleLightShaderParams params{{1.0f, 2.0f}, 0.8f, 0.0f}; 89 auto shader = GEWavyRippleLightShader::CreateWavyRippleLightShader(params); 90 ASSERT_NE(shader, nullptr); 91 92 Drawing::Rect rect{0, 0, 50, 50}; 93 shader->MakeDrawingShader(rect, 0.5f); 94 SUCCEED(); 95 } 96 97 /** 98 * @tc.name: GEWavyRippleLightShaderTest005 99 * @tc.type: FUNC 100 */ 101 HWTEST_F(GEWavyRippleLightShaderTest, GEWavyRippleLightShaderTest005, TestSize.Level1) 102 { 103 Drawing::GEWavyRippleLightShaderParams params{{0.8f, 0.3f}, 0.1f, 2.0f}; 104 auto shader = GEWavyRippleLightShader::CreateWavyRippleLightShader(params); 105 ASSERT_NE(shader, nullptr); 106 107 Drawing::Rect rect{0, 0, 100, 100}; 108 shader->MakeDrawingShader(rect, 0.75f); 109 shader->GEWavyRippleLightShader::CreateWavyRippleLightShader(params); 110 ASSERT_NE(shader, nullptr); 111 } 112 } // namespace Rosen 113 } // namespace OHOS