Files
swift-mirror/validation-test/stdlib/Stride.swift
2021-03-30 22:06:55 -07:00

30 lines
1.0 KiB
Swift

// RUN: %target-run-simple-swift
// REQUIRES: executable_test
import StdlibUnittest
import StdlibCollectionUnittest
var StrideTestSuite = TestSuite("Stride")
StrideTestSuite.test("to") {
checkSequence(Array(0...4), stride(from: 0, to: 5, by: 1))
checkSequence(Array(1...5).reversed(), stride(from: 5, to: 0, by: -1))
if #available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *) {
// This used to crash before https://github.com/apple/swift/pull/34860
checkSequence(stride(from: 0, to: 127, by: 3).map { Int8($0) },
stride(from: 0, to: 127 as Int8, by: 3))
}
}
StrideTestSuite.test("through") {
checkSequence(Array(0...5), stride(from: 0, through: 5, by: 1))
checkSequence(Array(0...5).reversed(), stride(from: 5, through: 0, by: -1))
if #available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *) {
// This used to crash before https://github.com/apple/swift/pull/34860
checkSequence(stride(from: 0, through: 127, by: 3).map { Int8($0) },
stride(from: 0, through: 127 as Int8, by: 3))
}
}
runAllTests()