Add Settings tab: distance units toggle, onboarding replay, £4.99 tip; drop E10/E5 from labels
- FuelType labels: 'Unleaded (E10)'/'Premium (E5)' -> 'Unleaded'/'Premium' - New DistanceUnit (miles/km) preference; all app + widget distances, radii and alert text convert/display in the chosen unit - Settings tab (4th tab): segmented miles/km picker, 'Show introduction' replay button (onboarding moved out of Alerts tab), StoreKit tip £4.99 - ProximityMonitor + widget notifications use the chosen unit - Tests: label expectations updated, DistanceUnit conversion + format tests
This commit is contained in:
@@ -196,10 +196,23 @@ final class BrandTests: XCTestCase {
|
||||
|
||||
final class FuelTypeLabelTests: XCTestCase {
|
||||
func testDisplayNames() {
|
||||
XCTAssertEqual(FuelType.e10.displayName, "Unleaded (E10)")
|
||||
XCTAssertEqual(FuelType.e5.displayName, "Premium (E5)")
|
||||
// E10/E5 grades are intentionally not part of user-facing labels.
|
||||
XCTAssertEqual(FuelType.e10.displayName, "Unleaded")
|
||||
XCTAssertEqual(FuelType.e5.displayName, "Premium")
|
||||
XCTAssertEqual(FuelType.diesel.displayName, "Diesel")
|
||||
}
|
||||
|
||||
func testDistanceUnitConversion() {
|
||||
XCTAssertEqual(DistanceUnit.miles.toKM(1), 1.60934, accuracy: 0.00001)
|
||||
XCTAssertEqual(DistanceUnit.kilometers.toKM(5), 5)
|
||||
XCTAssertEqual(DistanceUnit.miles.fromKM(1.60934), 1, accuracy: 0.00001)
|
||||
XCTAssertEqual(DistanceUnit.kilometers.fromKM(2.5), 2.5)
|
||||
}
|
||||
|
||||
func testDistanceUnitFormat() {
|
||||
XCTAssertEqual(DistanceUnit.miles.format(1.60934), "1.0 mi")
|
||||
XCTAssertEqual(DistanceUnit.kilometers.format(3.4), "3.4 km")
|
||||
}
|
||||
}
|
||||
|
||||
final class FavouriteRefreshTests: XCTestCase {
|
||||
|
||||
Reference in New Issue
Block a user