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 #include "gtest/gtest.h" 17 #include "location.h" 18 #include "SharedData.h" 19 #define private public 20 #include "VirtualLocation.h" 21 22 namespace { 23 struct LocSuccessData { 24 LocationData data; 25 }; 26 TEST(GeoLocationTest,GetGeoLocationTypeTest)27 TEST(GeoLocationTest, GetGeoLocationTypeTest) 28 { 29 EXPECT_EQ(std::string(GetGeoLocationType()), "gps"); 30 } 31 TEST(GeoLocationTest,GetSupportedGeoCoordTypesTest)32 TEST(GeoLocationTest, GetSupportedGeoCoordTypesTest) 33 { 34 EXPECT_EQ(std::string(GetSupportedGeoCoordTypes()), "wgs84"); 35 } 36 LocDataUpdateCallback(const int8_t * data,uint32_t len)37 void LocDataUpdateCallback(const int8_t *data, uint32_t len) 38 { 39 (void)data; 40 (void)len; 41 } 42 TEST(GeoLocationTest,GetGeoLocationTest)43 TEST(GeoLocationTest, GetGeoLocationTest) 44 { 45 int32_t ret = GetGeoLocation(nullptr, nullptr, nullptr, 0); 46 EXPECT_EQ(ret, -1); // -1 is expect return value 47 int32_t ret1 = GetGeoLocation(LocDataUpdateCallback, nullptr, nullptr, 0); 48 EXPECT_EQ(ret1, 0); // 0 is expect return value 49 } 50 TEST(GeoLocationTest,SubGeoLocationTest)51 TEST(GeoLocationTest, SubGeoLocationTest) 52 { 53 int32_t ret = SubGeoLocation(LocDataUpdateCallback); 54 EXPECT_EQ(ret, 0); // 0 is expect return value 55 } 56 TEST(GeoLocationTest,UnSubGeoLocationTest)57 TEST(GeoLocationTest, UnSubGeoLocationTest) 58 { 59 UnSubGeoLocation(LocDataUpdateCallback); 60 EXPECT_FALSE(VirtualLocation::GetInstance().isSubsribe); 61 } 62 TEST(GeoLocationTest,DestroyGeoLocationTest)63 TEST(GeoLocationTest, DestroyGeoLocationTest) 64 { 65 DestroyGeoLocation(LocDataUpdateCallback); 66 EXPECT_FALSE(VirtualLocation::GetInstance().isSubsribe); 67 } 68 TEST(GeoLocationTest,SerializeLocDataTest)69 TEST(GeoLocationTest, SerializeLocDataTest) 70 { 71 int32_t ret = SerializeLocData(nullptr, 0, nullptr); 72 EXPECT_EQ(ret, -1); // -1 is expect return value 73 ret = SerializeLocData(VirtualLocation::GetInstance().GetMockPointer(), 0, nullptr); 74 EXPECT_EQ(ret, -1); // -1 is expect return value 75 uint32_t len = 1; 76 ret = SerializeLocData(VirtualLocation::GetInstance().GetMockPointer(), len, nullptr); 77 EXPECT_EQ(ret, -1); // -1 is expect return value 78 LocationData rspData; 79 ret = SerializeLocData(VirtualLocation::GetInstance().GetMockPointer(), len, &rspData); 80 EXPECT_EQ(ret, 0); // 0 is expect return value 81 } 82 }