Skip to content

Commit b7762c7

Browse files
committed
Add tests
1 parent 6651025 commit b7762c7

File tree

1 file changed

+72
-1
lines changed

1 file changed

+72
-1
lines changed

TestFoundation/TestNSRange.swift

Lines changed: 72 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,13 @@ class TestNSRange : XCTestCase {
2323
return [
2424
// currently disabled due to pending requirements for NSString
2525
// ("test_NSRangeFromString", test_NSRangeFromString ),
26-
("test_NSRangeBridging", test_NSRangeBridging)
26+
("test_NSRangeBridging", test_NSRangeBridging),
27+
("test_NSMaxRange", test_NSMaxRange),
28+
("test_NSLocationInRange", test_NSLocationInRange),
29+
("test_NSEqualRanges", test_NSEqualRanges),
30+
("test_NSUnionRange", test_NSUnionRange),
31+
("test_NSIntersectionRange", test_NSIntersectionRange),
32+
("test_NSStringFromRange", test_NSStringFromRange),
2733
]
2834
}
2935

@@ -66,4 +72,69 @@ class TestNSRange : XCTestCase {
6672
let swiftRange2 = range.toRange()
6773
XCTAssertEqual(swiftRange, swiftRange2)
6874
}
75+
76+
func test_NSMaxRange() {
77+
let ranges = [(NSMakeRange(0, 3), 3),
78+
(NSMakeRange(7, 8), 15),
79+
(NSMakeRange(56, 1), 57)]
80+
for (range, result) in ranges {
81+
XCTAssertEqual(NSMaxRange(range), result)
82+
}
83+
}
84+
85+
func test_NSLocationInRange() {
86+
let ranges = [(3, NSMakeRange(0, 5), true),
87+
(10, NSMakeRange(2, 9), true),
88+
(7, NSMakeRange(2, 5), false),
89+
(5, NSMakeRange(5, 1), true)];
90+
for (location, range, result) in ranges {
91+
XCTAssertEqual(NSLocationInRange(location, range), result);
92+
}
93+
}
94+
95+
func test_NSEqualRanges() {
96+
let ranges = [(NSMakeRange(0, 3), NSMakeRange(0, 3), true),
97+
(NSMakeRange(0, 4), NSMakeRange(0, 8), false),
98+
(NSMakeRange(3, 6), NSMakeRange(3, 10), false),
99+
(NSMakeRange(0, 5), NSMakeRange(7, 8), false)]
100+
for (first, second, result) in ranges {
101+
XCTAssertEqual(NSEqualRanges(first, second), result)
102+
}
103+
}
104+
105+
106+
func test_NSUnionRange() {
107+
let ranges = [(NSMakeRange(0, 5), NSMakeRange(3, 8), NSMakeRange(0, 11)),
108+
(NSMakeRange(6, 10), NSMakeRange(3, 8), NSMakeRange(3, 13)),
109+
(NSMakeRange(3, 8), NSMakeRange(6, 10), NSMakeRange(3, 13)),
110+
(NSMakeRange(0, 5), NSMakeRange(7, 8), NSMakeRange(0, 15)),
111+
(NSMakeRange(0, 3), NSMakeRange(1, 2), NSMakeRange(0, 3))]
112+
for (first, second, result) in ranges {
113+
XCTAssert(NSEqualRanges(NSUnionRange(first, second), result))
114+
}
115+
}
116+
117+
func test_NSIntersectionRange() {
118+
let ranges = [(NSMakeRange(0, 5), NSMakeRange(3, 8), NSMakeRange(3, 2)),
119+
(NSMakeRange(6, 10), NSMakeRange(3, 8), NSMakeRange(6, 5)),
120+
(NSMakeRange(3, 8), NSMakeRange(6, 10), NSMakeRange(6, 5)),
121+
(NSMakeRange(0, 5), NSMakeRange(7, 8), NSMakeRange(0, 0)),
122+
(NSMakeRange(0, 3), NSMakeRange(1, 2), NSMakeRange(1, 2))]
123+
for (first, second, result) in ranges {
124+
XCTAssert(NSEqualRanges(NSIntersectionRange(first, second), result))
125+
}
126+
}
127+
128+
func test_NSStringFromRange() {
129+
let ranges = ["{0, 0}": NSMakeRange(0, 0),
130+
"{6, 4}": NSMakeRange(6, 4),
131+
"{0, 10}": NSMakeRange(0, 10),
132+
"{10, 200}": NSMakeRange(10, 200),
133+
"{100, 10}": NSMakeRange(100, 10),
134+
"{1000, 100000}": NSMakeRange(1000, 100_000)];
135+
136+
for (string, range) in ranges {
137+
XCTAssertEqual(NSStringFromRange(range), string)
138+
}
139+
}
69140
}

0 commit comments

Comments
 (0)