| // RUN: %target-run-stdlib-swift -swift-version 3 |
| // REQUIRES: executable_test |
| |
| import StdlibUnittest |
| |
| var FilterTestSuite = TestSuite("HashedCollectionFilter") |
| |
| FilterTestSuite.test("Dictionary.filter(_:) -> [(Key, Value)]") { |
| let d = [10: 1010, 20: 1020, 30: 1030, 40: 1040] |
| let f: Any = d.filter { (k, v) in k > 20 } |
| expectTrue(f is [(Int, Int)]) |
| } |
| |
| FilterTestSuite.test("Set.filter(_:) -> [Element]") { |
| let s: Set = [10, 20, 30, 40] |
| let f: Any = s.filter { $0 > 20 } |
| expectTrue(f is [Int]) |
| } |
| |
| FilterTestSuite.test("Dictionary.keys -> LazyMapCollection") { |
| let d = [10: 1010, 20: 1020, 30: 1030, 40: 1040] |
| // .keys should produce a LazyMapCollection in Swift 3 |
| let f: Any = d.keys |
| let g = f as! LazyMapCollection<[Int: Int], Int> |
| expectEqual(4, g.count) |
| } |
| |
| FilterTestSuite.test("Dictionary.values -> LazyMapCollection") { |
| let d = [10: 1010, 20: 1020, 30: 1030, 40: 1040] |
| // .values should produce a LazyMapCollection in Swift 3 |
| let f: Any = d.values |
| let g = f as! LazyMapCollection<[Int: Int], Int> |
| expectEqual(4, g.count) |
| } |
| |
| runAllTests() |
| |