import XCTest #if SWIFT_PACKAGE @testable import FuelBoardShared #endif final class FuelSavingsRoutingCacheTests: XCTestCase { override func setUp() { super.setUp() FuelStore.saveRoadDistances(sourceLat: 0, sourceLng: 0, entries: [:]) } private func station(_ id: String, _ lat: Double, _ lng: Double) -> FuelStation { FuelStation(id: id, name: id, brand: "X", address: "", postcode: "", lat: lat, lng: lng, prices: [.e10: 140], priceUpdated: nil) } func testJourneyDistanceUsesSeparateOutAndBackRoadRoutes() { let s = station("a", 51.5074, -0.1278) FuelStore.saveRoadDistances( sourceLat: 51.6, sourceLng: -0.1, entries: ["a": CachedRoadDistance(meters: 3_200, lat: 51.5074, lng: -0.1278, returnMeters: 3_700)] ) XCTAssertEqual(FuelStore.roadJourneyMeters(for: s, userLat: 51.6, userLng: -0.1), 6_900) } func testLegacyOneWayCacheDoublesForJourneyDistance() { let s = station("a", 51.5074, -0.1278) FuelStore.saveRoadDistances( sourceLat: 51.6, sourceLng: -0.1, entries: ["a": CachedRoadDistance(meters: 3_200, lat: 51.5074, lng: -0.1278)] ) XCTAssertEqual(FuelStore.roadJourneyMeters(for: s, userLat: 51.6, userLng: -0.1), 6_400) } }