-
-
Notifications
You must be signed in to change notification settings - Fork 385
Expand file tree
/
Copy pathSentryHttpStatusCodeRangeTests.swift
More file actions
83 lines (57 loc) · 2.46 KB
/
SentryHttpStatusCodeRangeTests.swift
File metadata and controls
83 lines (57 loc) · 2.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
import XCTest
class SentryHttpStatusCodeRangeTests: XCTestCase {
// MARK: - Init Properties
func testInit_whenMinAndMax_shouldSetProperties() {
let range = HttpStatusCodeRange(min: 400, max: 499)
XCTAssertEqual(range.min, 400)
XCTAssertEqual(range.max, 499)
}
func testInit_whenStatusCode_shouldSetMinAndMaxEqual() {
let range = HttpStatusCodeRange(statusCode: 500)
XCTAssertEqual(range.min, 500)
XCTAssertEqual(range.max, 500)
}
// MARK: - Range Init: isInRange
func testIsInRange_whenStatusCodeWithinRange_shouldReturnTrue() {
let range = HttpStatusCodeRange(min: 500, max: 599)
XCTAssertTrue(range.is(inRange: 550))
}
func testIsInRange_whenStatusCodeEqualsMin_shouldReturnTrue() {
let range = HttpStatusCodeRange(min: 500, max: 599)
XCTAssertTrue(range.is(inRange: 500))
}
func testIsInRange_whenStatusCodeEqualsMax_shouldReturnTrue() {
let range = HttpStatusCodeRange(min: 500, max: 599)
XCTAssertTrue(range.is(inRange: 599))
}
func testIsInRange_whenStatusCodeBelowMin_shouldReturnFalse() {
let range = HttpStatusCodeRange(min: 500, max: 599)
XCTAssertFalse(range.is(inRange: 499))
}
func testIsInRange_whenStatusCodeAboveMax_shouldReturnFalse() {
let range = HttpStatusCodeRange(min: 500, max: 599)
XCTAssertFalse(range.is(inRange: 600))
}
func testIsInRange_whenMinEqualsMax_shouldMatchOnlyThatCode() {
let range = HttpStatusCodeRange(min: 500, max: 500)
XCTAssertTrue(range.is(inRange: 500))
XCTAssertFalse(range.is(inRange: 499))
XCTAssertFalse(range.is(inRange: 501))
}
// The init does not validate min <= max, so an inverted range matches nothing.
func testIsInRange_whenMinGreaterThanMax_shouldAlwaysReturnFalse() {
let range = HttpStatusCodeRange(min: 599, max: 500)
XCTAssertFalse(range.is(inRange: 500))
XCTAssertFalse(range.is(inRange: 550))
XCTAssertFalse(range.is(inRange: 599))
}
// MARK: - StatusCode Init: isInRange
func testIsInRange_whenStatusCodeInitAndExactMatch_shouldReturnTrue() {
let range = HttpStatusCodeRange(statusCode: 500)
XCTAssertTrue(range.is(inRange: 500))
}
func testIsInRange_whenStatusCodeInitAndDifferentCode_shouldReturnFalse() {
let range = HttpStatusCodeRange(statusCode: 500)
XCTAssertFalse(range.is(inRange: 501))
}
}