import XCTest
class StringPerformanceTests2: XCTestCase {
let chars = Array("あいうえお一二三四五1️⃣2️⃣3️⃣4️⃣5️⃣".characters)
var input: String!
override func setUp() {
super.setUp()
input = ((0..<100000).map { _ in String(chars[Int(arc4random_uniform(UInt32(chars.count))) % chars.count]) }).joined(separator: "")
}
func testPerformanceBytesInitializer() {
let bytes = Array(input.utf8)
self.measure {
(0..<10).forEach { _ in
_ = String(bytes: bytes, encoding: String.Encoding.utf8)
}
}
}
func testPerformanceCharactersArrayCast() {
self.measure {
(0..<10).forEach { _ in
_ = Array(self.input.characters)
}
}
}
}