import CustomDump import XCTest @testable import XXClient final class ReceivedFileTests: XCTestCase { func testCoding() throws { let transferIdB64 = "B4Z9cwU18beRoGbk5xBjbcd5Ryi9ZUFA2UBvi8FOHWo=" let senderIdB64 = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD" let previewB64 = "aXQncyBtZSBhIHByZXZpZXc=" let name = "testfile.txt" let type = "text file" let size: Int = 2048 let jsonString = """ { "TransferID": "\(transferIdB64)", "SenderID": "\(senderIdB64)", "Preview": "\(previewB64)", "Name": "\(name)", "Type": "\(type)", "Size": \(size) } """ let jsonData = jsonString.data(using: .utf8)! let model = try ReceivedFile.decode(jsonData) XCTAssertNoDifference(model, ReceivedFile( transferId: Data(base64Encoded: transferIdB64)!, senderId: Data(base64Encoded: senderIdB64)!, preview: Data(base64Encoded: previewB64)!, name: name, type: type, size: size )) let encodedModel = try model.encode() let decodedModel = try ReceivedFile.decode(encodedModel) XCTAssertNoDifference(decodedModel, model) } }