import CustomDump import XCTest @testable import XXClient final class ProgressTests: XCTestCase { func testCoding() throws { let transferIdB64 = "RyJcMqtI3IIM1+YMxRwCcFiOX6AGuIzS+vQaPnqXVT8=" let completed = false let transmitted: Int = 128 let total: Int = 2048 let jsonString = """ { "TransferID": "\(transferIdB64)", "Completed": \(completed), "Transmitted": \(transmitted), "Total": \(total) } """ let jsonData = jsonString.data(using: .utf8)! let model = try Progress.decode(jsonData) XCTAssertNoDifference(model, Progress( transferId: Data(base64Encoded: transferIdB64)!, completed: completed, transmitted: transmitted, total: total )) let encodedModel = try model.encode() let decodedModel = try Progress.decode(encodedModel) XCTAssertNoDifference(decodedModel, model) } }