in source/UberRidesTests/ObjectMappingTests.swift [277:306]
func testGetTripHistory() {
let bundle = Bundle(for: ObjectMappingTests.self)
if let path = bundle.path(forResource: "getHistory", ofType: "json") {
if let jsonData = try? Data(contentsOf: URL(fileURLWithPath: path)) {
let userActivity = try? JSONDecoder.uberDecoder.decode(TripHistory.self, from: jsonData)
XCTAssertNotNil(userActivity)
XCTAssertNotNil(userActivity!.history)
XCTAssertEqual(userActivity!.count, 1)
XCTAssertEqual(userActivity!.limit, 5)
XCTAssertEqual(userActivity!.offset, 0)
let history = userActivity!.history
XCTAssertEqual(history.count, 1)
XCTAssertEqual(history[0].status, RideStatus.completed)
XCTAssertEqual(history[0].distance, 1.64691465)
XCTAssertEqual(history[0].requestTime, Date(timeIntervalSince1970: 1428876188))
XCTAssertEqual(history[0].startTime, Date(timeIntervalSince1970: 1428876374))
XCTAssertEqual(history[0].endTime, Date(timeIntervalSince1970: 1428876927))
XCTAssertEqual(history[0].requestID, "37d57a99-2647-4114-9dd2-c43bccf4c30b")
XCTAssertEqual(history[0].productID, "a1111c8c-c720-46c3-8534-2fcdd730040d")
XCTAssertNotNil(history[0].startCity)
let city = history[0].startCity
XCTAssertEqual(city?.name, "San Francisco")
XCTAssertEqual(city?.latitude, 37.7749295)
XCTAssertEqual(city?.longitude, -122.4194155)
}
}
}