集成高德 SDK 并替换所有定位相关的 CoreLocation 与 MapKit
This commit is contained in:
30
suixinkanTests/MockLocationProvider.swift
Normal file
30
suixinkanTests/MockLocationProvider.swift
Normal file
@ -0,0 +1,30 @@
|
||||
//
|
||||
// MockLocationProvider.swift
|
||||
// suixinkanTests
|
||||
//
|
||||
|
||||
import CoreLocation
|
||||
@testable import suixinkan
|
||||
|
||||
/// 测试用定位替身。
|
||||
final class MockLocationProvider: LocationProviding, @unchecked Sendable {
|
||||
var snapshot = HomeLocationSnapshot(latitude: 39.9087, longitude: 116.3975, address: "北京市东城区")
|
||||
var coordinate = CLLocationCoordinate2D(latitude: 39.9087, longitude: 116.3975)
|
||||
var reverseGeocodeResult = "北京市东城区"
|
||||
var requestSnapshotError: Error?
|
||||
var requestCoordinateError: Error?
|
||||
|
||||
func requestSnapshot() async throws -> HomeLocationSnapshot {
|
||||
if let requestSnapshotError { throw requestSnapshotError }
|
||||
return snapshot
|
||||
}
|
||||
|
||||
func requestCoordinate() async throws -> CLLocationCoordinate2D {
|
||||
if let requestCoordinateError { throw requestCoordinateError }
|
||||
return coordinate
|
||||
}
|
||||
|
||||
func reverseGeocode(latitude: Double, longitude: Double) async -> String {
|
||||
reverseGeocodeResult
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user