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, 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 #ifndef IMAGE_EFFECT_CAPI_UNITTEST_H 17 #define IMAGE_EFFECT_CAPI_UNITTEST_H 18 19 #include "gtest/gtest.h" 20 #include "mock_pixel_map.h" 21 #include "image_effect_filter.h" 22 #include "surface.h" 23 24 namespace OHOS { 25 namespace Media { 26 namespace Effect { 27 class ImageEffectCApiUnittest : public testing::Test { 28 public: 29 std::shared_ptr<PixelMap> mockPixelMap_; 30 OH_PixelmapNative *pixelmapNative_ = nullptr; 31 OH_EffectFilterInfo *filterInfo_ = nullptr; 32 33 /* SetUpTestCase:The preset action of the test suite is executed before the first TestCase */ 34 static void SetUpTestCase(); 35 36 /* TearDownTestCase:The test suite cleanup action is executed after the last TestCase */ 37 static void TearDownTestCase(); 38 39 /* SetUp:Execute before each test case */ 40 void SetUp() override; 41 42 /* TearDown:Execute after each test case */ 43 void TearDown() override; 44 45 static inline sptr<OHOS::Surface> consumerSurface_; 46 static inline sptr<OHOS::Surface> ohSurface_; 47 static inline OHNativeWindow *nativeWindow_; 48 }; 49 } // namespace Effect 50 } // namespace Media 51 } // namespace OHOS 52 #endif // IMAGE_EFFECT_CAPI_UNITTEST_H