From 9fc508efb2f0bb0d92fb2d4bd49c26260d00e42f Mon Sep 17 00:00:00 2001 From: patrick-zippenfenig Date: Fri, 12 Jan 2024 12:47:39 +0100 Subject: [PATCH] fix Curacao lookup --- Sources/SwiftTimeZoneLookup/SwiftTimeZoneLookup.swift | 4 ++++ Tests/SwiftTimeZoneLookupTests/SwiftTimeZoneLookupTests.swift | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Sources/SwiftTimeZoneLookup/SwiftTimeZoneLookup.swift b/Sources/SwiftTimeZoneLookup/SwiftTimeZoneLookup.swift index 5c17744..fbcc80e 100644 --- a/Sources/SwiftTimeZoneLookup/SwiftTimeZoneLookup.swift +++ b/Sources/SwiftTimeZoneLookup/SwiftTimeZoneLookup.swift @@ -115,6 +115,10 @@ public final class SwiftTimeZoneLookup { // Reasons unknown, could be an invalid polygon return "Europe/Athens" } + if (11.865393...12.474443).contains(latitude) && (-69.312710...(-68.613387)).contains(longitude) { + // Curacao island + return "America/Curacao" + } guard let result = highResLookup(latitude: latitude, longitude: longitude) else { return nil diff --git a/Tests/SwiftTimeZoneLookupTests/SwiftTimeZoneLookupTests.swift b/Tests/SwiftTimeZoneLookupTests/SwiftTimeZoneLookupTests.swift index 68f98f9..f84fcca 100644 --- a/Tests/SwiftTimeZoneLookupTests/SwiftTimeZoneLookupTests.swift +++ b/Tests/SwiftTimeZoneLookupTests/SwiftTimeZoneLookupTests.swift @@ -24,6 +24,7 @@ final class SwiftTimeZoneLookupTests: XCTestCase { XCTAssertEqual(database.simple(latitude: 36.8370, longitude: 25.8904), "Europe/Athens") // island to the north XCTAssertEqual(database.simple(latitude: 36.3683, longitude: 25.7735), "Europe/Athens") // island to north west - + // https://github.com/open-meteo/open-meteo/issues/589 + XCTAssertEqual(database.simple(latitude: 12.2, longitude: -68.97), "America/Curacao") } }