1/*
2 * Copyright (C) 2022 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 GNSS_ABILITY_TEST_H
17#define GNSS_ABILITY_TEST_H
18#ifdef FEATURE_GNSS_SUPPORT
19
20#include <gtest/gtest.h>
21
22#define private public
23#include "agnss_event_callback.h"
24#include "gnss_ability.h"
25#undef private
26
27#include <v2_0/ia_gnss_interface.h>
28#include <v2_0/ignss_interface.h>
29
30#include "gnss_ability_proxy.h"
31#include "gnss_status_callback_napi.h"
32#include "nmea_message_callback_napi.h"
33#include "cached_locations_callback_napi.h"
34
35namespace OHOS {
36namespace Location {
37class GnssAbilityTest : public testing::Test {
38public:
39    void SetUp();
40    void TearDown();
41    static void TearDownTestCase();
42    void MockNativePermission();
43    sptr<GnssAbilityProxy> proxy_;
44    sptr<GnssStatusCallbackNapi> callbackStub_;
45    sptr<GnssAbility> ability_;
46    sptr<NmeaMessageCallbackNapi> nemaCallbackStub_;
47    sptr<CachedLocationsCallbackNapi> cachedLocationCallbackStub_;
48    sptr<AGnssEventCallback> agnssCallback_;
49};
50} // namespace Location
51} // namespace OHOS
52#endif // FEATURE_GNSS_SUPPORT
53#endif // GNSS_ABILITY_TEST_H
54