Files
swift-mirror/test/1_stdlib/Sliceable.swift
Dmitri Hrybenko c109ec9125 stdlib: protocol extensions: de-underscore count()
Swift SVN r28246
2015-05-07 00:30:38 +00:00

58 lines
1.8 KiB
Swift

// RUN: %target-run-simple-swift
// XFAIL: interpret
import StdlibUnittest
var SliceableTests = TestSuite("SliceableTests")
SliceableTests.test("dropFirstLast") {
if true {
let a = [2, 3, 5, 7, 11]
expectEqual(a[a.startIndex.successor()..<a.endIndex], dropFirst(a))
expectEqual(a[a.startIndex..<a.endIndex.predecessor()], dropLast(a))
}
if true {
let a = "bird in the hand"
expectEqual(a[a.startIndex.successor()..<a.endIndex], dropFirst(a))
expectEqual(a[a.startIndex..<a.endIndex.predecessor()], dropLast(a))
}
}
SliceableTests.test("prefixSuffix") {
if true {
let a = [2, 3, 5, 7, 11]
let count = a.count()
expectEqualSequence([], prefix(a, -10))
expectEqualSequence([], suffix(a, -10))
expectEqualSequence(a, prefix(a, count + 1))
expectEqualSequence(a, prefix(a, count))
expectEqualSequence(dropLast(a), prefix(a, count - 1))
expectEqualSequence(dropLast(dropLast(a)), prefix(a, count - 2))
expectEqualSequence(a, suffix(a, count + 1))
expectEqualSequence(a, suffix(a, count))
expectEqualSequence(dropFirst(a), suffix(a, count - 1))
expectEqualSequence(dropFirst(dropFirst(a)), suffix(a, count - 2))
}
if true {
let a = "bird in the hand"
let count = a.count()
expectEqualSequence("", prefix(a, -10))
expectEqualSequence("", suffix(a, -10))
expectEqualSequence(a, prefix(a, count + 1))
expectEqualSequence(a, prefix(a, count))
expectEqualSequence(dropLast(a), prefix(a, count - 1))
expectEqualSequence(dropLast(dropLast(a)), prefix(a, count - 2))
expectEqualSequence(a, suffix(a, count + 1))
expectEqualSequence(a, suffix(a, count))
expectEqualSequence(dropFirst(a), suffix(a, count - 1))
expectEqualSequence(dropFirst(dropFirst(a)), suffix(a, count - 2))
}
}
runAllTests()