diff --git a/.swiftpm/xcode/xcshareddata/xcschemes/swift-geo-Package.xcscheme b/.swiftpm/xcode/xcshareddata/xcschemes/swift-geo-Package.xcscheme index 5480768..2629d5f 100644 --- a/.swiftpm/xcode/xcshareddata/xcschemes/swift-geo-Package.xcscheme +++ b/.swiftpm/xcode/xcshareddata/xcschemes/swift-geo-Package.xcscheme @@ -42,9 +42,9 @@ buildForAnalyzing = "YES"> @@ -56,9 +56,9 @@ buildForAnalyzing = "YES"> @@ -84,23 +84,9 @@ buildForAnalyzing = "YES"> - - - - @@ -112,9 +98,9 @@ buildForAnalyzing = "YES"> @@ -126,9 +112,9 @@ buildForAnalyzing = "YES"> @@ -140,9 +126,9 @@ buildForAnalyzing = "YES"> @@ -154,9 +140,9 @@ buildForAnalyzing = "YES"> @@ -168,9 +154,9 @@ buildForAnalyzing = "YES"> @@ -182,9 +168,9 @@ buildForAnalyzing = "YES"> @@ -196,9 +182,9 @@ buildForAnalyzing = "YES"> @@ -223,18 +209,47 @@ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES" - enableAddressSanitizer = "YES"> + enableAddressSanitizer = "YES" + codeCoverageEnabled = "YES" + onlyGenerateCoverageForSpecifiedTargets = "YES"> + + + + + + + + + + + + - - - - (lhs: Self, rhs: Point) -> Self where CRS: ConvertibleCRS, OtherCRS: ConvertibleCRS { - Self.init(coordinates: lhs.coordinates + rhs.coordinates.to(to: OtherCRS.self)) + Self.init(coordinates: lhs.coordinates + rhs.coordinates.to(CRS.self)) } } diff --git a/Tests/TurfCoreTests/Toolbox/MapSnapshot.swift b/Tests/TurfCoreTests/Toolbox/MapSnapshot.swift index b037142..d8629fb 100644 --- a/Tests/TurfCoreTests/Toolbox/MapSnapshot.swift +++ b/Tests/TurfCoreTests/Toolbox/MapSnapshot.swift @@ -45,11 +45,19 @@ func snapshot( assert(points.count == polyline.pointCount) mapView.addOverlay(polyline, level: .aboveRoads) - while (!delegate.renderingFinished) { + while (delegate.renderingStep == .rendering) { // Wait 100ms try await Task.sleep(nanoseconds: 100 * NSEC_PER_MSEC) } - return mapView.snapshot + switch delegate.renderingStep { + case .rendered: + return mapView.snapshot + case .error(let error): + throw XCTSkip(String(describing: error)) + case .rendering: + XCTFail("Unexpected code path: `delegate.renderingStep` should not equal `.rendering`", file: file, line: line) + throw XCTSkip() + } } extension NSView { @@ -65,7 +73,11 @@ extension NSView { final class MapDelegate: NSObject, MKMapViewDelegate { - var renderingFinished = false + enum RenderingStep: Equatable { + case rendering, rendered, error(MKError) + } + + var renderingStep = RenderingStep.rendering func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer { if overlay is MKPolyline { @@ -77,8 +89,17 @@ final class MapDelegate: NSObject, MKMapViewDelegate { return MKOverlayRenderer() } + func mapViewDidFailLoadingMap(_ mapView: MKMapView, withError error: Error) { + if let error = error as? MKError { + self.renderingStep = .error(error) + } else { + assertionFailure("Error is not a `MKError`: \(error)") + self.renderingStep = .error(.init(.unknown, userInfo: [:])) + } + } + func mapViewDidFinishRenderingMap(_ mapView: MKMapView, fullyRendered: Bool) { - self.renderingFinished = true + self.renderingStep = .rendered } } diff --git a/Tests/WGS84Tests/WSG84Tests.swift b/Tests/WGS84Tests/WSG84Tests.swift index 82ff9cf..91c3a69 100644 --- a/Tests/WGS84Tests/WSG84Tests.swift +++ b/Tests/WGS84Tests/WSG84Tests.swift @@ -7,6 +7,7 @@ // import Geodesy +import GeodeticConversions import WGS84 import XCTest @@ -14,17 +15,17 @@ final class ConversionTests: XCTestCase { /// Example from . func testEPSG9602() { let c1 = Coordinate2D(x: 0, y: 90) - let c2 = c1.transformed(toCRS: WGS84Geographic3DCRS.self) + let c2 = c1.to(WGS84Geographic3DCRS.self) XCTAssertEqual(c2, Coordinate3D(x: 0, y: 90, z: 0)) - let c3 = c2.transformed(toCRS: WGS84GeocentricCRS.self) - XCTAssertEqual(c3, Coordinate3DOf( + let c3 = c2.to(WGS84GeocentricCRS.self) + XCTAssertEqual(c3, Coordinates3DOf( x: 3.905482530786651e-10, y: .init(WGS84Ensemble.Ellipsoid.semiMajorAxis), z: 0 )) - let c4 = c3.transformed(toCRS: WGS84Geographic3DCRS.self) + let c4 = c3.to(WGS84Geographic3DCRS.self) XCTAssertEqual(c4, Coordinate3D(x: 0, y: 90, z: 0)) - let c5 = c4.transformed(toCRS: WGS84Geographic2DCRS.self) + let c5 = c4.to(WGS84Geographic2DCRS.self) XCTAssertEqual(c5, c1) }