in source/UberRidesTests/ObjectMappingTests.swift [593:623]
func testGetRequestEstimate() {
let bundle = Bundle(for: ObjectMappingTests.self)
if let path = bundle.path(forResource: "requestEstimate", ofType: "json") {
if let jsonData = try? Data(contentsOf: URL(fileURLWithPath: path)) {
var estimate: RideEstimate?
do {
estimate = try JSONDecoder.uberDecoder.decode(RideEstimate.self, from: jsonData)
}
catch let e {
XCTFail(e.localizedDescription)
}
XCTAssertNotNil(estimate)
XCTAssertEqual(estimate!.pickupEstimate, 2)
XCTAssertNotNil(estimate?.fare)
XCTAssertEqual(estimate?.fare?.breakdown?.first?.name, "Base Fare")
XCTAssertEqual(estimate?.fare?.breakdown?.first?.type, UpfrontFareComponentType.baseFare)
XCTAssertEqual(estimate?.fare?.breakdown?.first?.value, 11.95)
XCTAssertEqual(estimate?.fare?.value, 11.95)
XCTAssertEqual(estimate?.fare?.fareID, "3d957d6ab84e88209b6778d91bd4df3c12d17b60796d89793d6ed01650cbabfe")
XCTAssertEqual(estimate?.fare?.expiresAt, Date(timeIntervalSince1970: 1503702982))
XCTAssertEqual(estimate?.fare?.display, "$11.95")
XCTAssertEqual(estimate?.fare?.currencyCode, "USD")
XCTAssertNotNil(estimate!.distanceEstimate)
XCTAssertEqual(estimate!.distanceEstimate!.distance, 5.35)
XCTAssertEqual(estimate!.distanceEstimate!.duration, 840)
XCTAssertEqual(estimate!.distanceEstimate!.distanceUnit, "mile")
}
}
}