mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-08-22 20:33:10 +09:00
62 lines
1.8 KiB
Swift
62 lines
1.8 KiB
Swift
/* 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))!)
|
|
}
|
|
|
|
}
|