Best Value: candidate-priced fills, key copy, detail total
This commit is contained in:
@@ -8,15 +8,15 @@ final class FuelSavingsCalculatorTests: XCTestCase {
|
||||
XCTAssertEqual(FuelSavingsCalculator.fuelUsedLitres(distanceMiles: 10, mpg: 45), 1.0102, accuracy: 0.0001)
|
||||
}
|
||||
|
||||
func testPoundsBudgetConvertsToLitresUsingBaselinePrice() throws {
|
||||
func testPoundsBudgetConvertsToLitresUsingGivenPrice() throws {
|
||||
let amount = FuelSavingsFillAmount(value: 40, unit: .pounds)
|
||||
let litres = try FuelSavingsCalculator.fillLitres(amount: amount, baselinePricePencePerLitre: 160)
|
||||
let litres = try FuelSavingsCalculator.fillLitres(amount: amount, pricePencePerLitre: 160)
|
||||
XCTAssertEqual(litres, 25.0, accuracy: 0.0001)
|
||||
}
|
||||
|
||||
func testLitresAmountPassesThrough() throws {
|
||||
let amount = FuelSavingsFillAmount(value: 35, unit: .litres)
|
||||
let litres = try FuelSavingsCalculator.fillLitres(amount: amount, baselinePricePencePerLitre: 160)
|
||||
let litres = try FuelSavingsCalculator.fillLitres(amount: amount, pricePencePerLitre: 160)
|
||||
XCTAssertEqual(litres, 35, accuracy: 0.0001)
|
||||
}
|
||||
|
||||
@@ -29,11 +29,11 @@ final class FuelSavingsCalculatorTests: XCTestCase {
|
||||
baselineJourneyMiles: 2,
|
||||
candidateJourneyMiles: 8
|
||||
)
|
||||
XCTAssertEqual(result.fillLitres, 25, accuracy: 0.0001)
|
||||
XCTAssertEqual(result.grossSavingGBP, 2.50, accuracy: 0.0001)
|
||||
XCTAssertEqual(result.fillLitres, 26.6667, accuracy: 0.0001)
|
||||
XCTAssertEqual(result.grossSavingGBP, 2.6667, accuracy: 0.0001)
|
||||
XCTAssertEqual(result.extraDistanceMiles, 6, accuracy: 0.0001)
|
||||
XCTAssertEqual(result.extraDrivingCostGBP, 0.9092, accuracy: 0.0001)
|
||||
XCTAssertEqual(result.netSavingGBP, 1.5908, accuracy: 0.0001)
|
||||
XCTAssertEqual(result.netSavingGBP, 1.7574, accuracy: 0.0001)
|
||||
XCTAssertEqual(result.status, .worthTheDrive)
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ final class FuelSavingsCalculatorTests: XCTestCase {
|
||||
}
|
||||
|
||||
func testInvalidInputsRejected() {
|
||||
XCTAssertThrowsError(try FuelSavingsCalculator.fillLitres(amount: FuelSavingsFillAmount(value: 40, unit: .pounds), baselinePricePencePerLitre: 0))
|
||||
XCTAssertThrowsError(try FuelSavingsCalculator.fillLitres(amount: FuelSavingsFillAmount(value: 40, unit: .pounds), pricePencePerLitre: 0))
|
||||
XCTAssertThrowsError(try FuelSavingsCalculator.calculate(mpg: 0, amount: FuelSavingsFillAmount(value: 40, unit: .pounds), baselinePricePencePerLitre: 160, candidatePricePencePerLitre: 150, baselineJourneyMiles: 1, candidateJourneyMiles: 2))
|
||||
XCTAssertThrowsError(try FuelSavingsCalculator.calculate(mpg: 500, amount: FuelSavingsFillAmount(value: 40, unit: .pounds), baselinePricePencePerLitre: 160, candidatePricePencePerLitre: 150, baselineJourneyMiles: 1, candidateJourneyMiles: 2))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user