func testGetRequestEstimate()

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")
            }
        }
    }