// RUN: %target-run-simple-swift // REQUIRES: executable_test // REQUIRES: objc_interop import StdlibUnittest import StdlibCollectionUnittest import Foundation var DataTestSuite = TestSuite("Data") DataTestSuite.test("Data.Iterator semantics") { // Empty data checkSequence([], Data()) // Small data checkSequence([1,2,4,8,16], Data(bytes: [1,2,4,8,16])) // Boundary conditions checkSequence([5], Data(bytes: [5])) checkSequence(1...31, Data(bytes: Array(1...31))) checkSequence(1...32, Data(bytes: Array(1...32))) checkSequence(1...33, Data(bytes: Array(1...33))) // Large data let count = 65535 var data = Data(count: count) data.withUnsafeMutableBytes { (ptr: UnsafeMutablePointer) -> () in for i in 0...self) } DataTestSuite.test("Data SubSequence") { let array: [UInt8] = [0, 1, 2, 3, 4, 5, 6, 7] var data = Data(bytes: array) checkRandomAccessCollection(array, data) for i in 0.. 0 { expectEqual(dataSlice.startIndex, i) expectEqual(dataSlice.endIndex, j) expectEqual(dataSlice[i], arraySlice[i]) dataSlice[i] = 0xFF expectEqual(dataSlice.startIndex, i) expectEqual(dataSlice.endIndex, j) } } } } runAllTests()