// // CryptoSwift // // Copyright (C) 2014-2022 Marcin Krzyżanowski // This software is provided 'as-is', without any express or implied warranty. // // In no event will the authors be held liable for any damages arising from the use of this software. // // Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: // // - The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. // - Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. // - This notice may not be removed or altered from any source or binary distribution. // import XCTest @testable import CryptoSwift class RabbitTestsPerf: XCTestCase { func testRabbitPerformance() { let key: Array = Array(repeating: 0, count: Rabbit.keySize) let iv: Array = Array(repeating: 0, count: Rabbit.ivSize) let message = Array(repeating: 7, count: (1024 * 1024) * 1) measure { _ = try! Rabbit(key: key, iv: iv).encrypt(message) } } } extension RabbitTestsPerf { static func allTests() -> [(String, (RabbitTestsPerf) -> () -> Void)] { let tests = [ ("testRabbitPerformance", testRabbitPerformance) ] return tests } }