This repository has been archived by the owner. It is now read-only.
Permalink
Cannot retrieve contributors at this time
executable file
62 lines (50 sloc)
1.79 KB
| /* This Source Code Form is subject to the terms of the Mozilla Public | |
| * License, v. 2.0. If a copy of the MPL was not distributed with this | |
| * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | |
| import Foundation | |
| import Shared | |
| import XCTest | |
| class ArrayExtensionTests: XCTestCase { | |
| override func setUp() { | |
| super.setUp() | |
| } | |
| override func tearDown() { | |
| super.tearDown() | |
| } | |
| func testUnique() { | |
| let a = [1, 2, 3, 4, 5, 6, 1, 2] | |
| let result = a.unique { return $0 } | |
| XCTAssertEqual(result, [1, 2, 3, 4, 5, 6]) | |
| let b = [1, 2, 3] | |
| let resultB = b.unique { return $0 } | |
| XCTAssertEqual(resultB, [1, 2, 3]) | |
| } | |
| func testUnion() { | |
| let a = [1, 2, 3, 4, 5, 6] | |
| let b = [7, 8, 9, 10] | |
| XCTAssertEqual(a.union(b) { return $0 }, | |
| [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) | |
| let c = [1, 2, 3, 4, 5, 6] | |
| let d = [4, 5, 6, 7, 8, 9, 10] | |
| XCTAssertEqual(c.union(d) { return $0 }, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) | |
| let e = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] | |
| let f = [4, 5, 6, 7, 8, 9, 10] | |
| XCTAssertEqual(e.union(f) { return $0 }, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) | |
| let g = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] | |
| let h = [Int]() | |
| XCTAssertEqual(g.union(h) { return $0 }, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) | |
| let i = [Int]() | |
| let j = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] | |
| XCTAssertEqual(i.union(j) { return $0 }, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) | |
| } | |
| func testSameElements() { | |
| let k = [1, 2, 3, 4, 5] | |
| let l = [1, 2, 3, 4, 5] | |
| let m = [2, 4, 6, 8, 10] | |
| let n: [Int]? | |
| n = k | |
| XCTAssertTrue(k.sameElements(l)) | |
| XCTAssertFalse(l.sameElements(m)) | |
| XCTAssertTrue((n?.sameElements(k))!) | |
| } | |
| } |