Labels: pluralize miles (1 mile) and show true distances in the chosen unit (5 mi = 8 km) across Alerts/Stations pickers + captions

This commit is contained in:
FuelBoard Contributor
2026-08-13 15:10:23 +01:00
parent 490c343fd5
commit 2409b71f2f
4 changed files with 51 additions and 7 deletions
@@ -353,3 +353,22 @@ final class AlertRadiusFollowTests: XCTestCase {
XCTAssertEqual(eff, 5 * 1.60934, accuracy: 0.001)
}
}
final class DistanceLabelTests: XCTestCase {
func testUnitLabelPluralizesMiles() {
XCTAssertEqual(DistanceUnit.miles.label(for: 1), "mile")
XCTAssertEqual(DistanceUnit.miles.label(for: 2), "miles")
XCTAssertEqual(DistanceUnit.miles.label(for: 5), "miles")
XCTAssertEqual(DistanceUnit.kilometers.label(for: 1), "km")
XCTAssertEqual(DistanceUnit.kilometers.label(for: 8), "km")
}
func testDisplayMilesShowsTrueDistance() {
// Picker labels must match what the option really means.
XCTAssertEqual(DistanceUnit.miles.displayMiles(5), 5)
XCTAssertEqual(DistanceUnit.miles.displayMiles(15), 15)
XCTAssertEqual(DistanceUnit.kilometers.displayMiles(5), 8) // 5 mi = 8.05 km
XCTAssertEqual(DistanceUnit.kilometers.displayMiles(10), 16) // 10 mi = 16.1 km
XCTAssertEqual(DistanceUnit.kilometers.displayMiles(15), 24) // 15 mi = 24.1 km
}
}