-
Notifications
You must be signed in to change notification settings - Fork 10.4k
/
Copy pathStride.swift
29 lines (24 loc) · 1008 Bytes
/
Stride.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// 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(SwiftStdlib 5.5, *) {
// 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(SwiftStdlib 5.5, *) {
// 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()