Skip to content

Commit d981b34

Browse files
committed
Add tests
1 parent b9e7448 commit d981b34

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

Tests/SafeIndexTests.swift

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,50 @@ class SafeIndexTests: XCTestCase {
4040
mutableArr[^2] = "D"
4141
XCTAssertEqual(mutableArr[^2], "D")
4242
}
43+
44+
func testSafeIndexMinus() {
45+
XCTAssertEqual(^-5, ^(-5))
46+
}
47+
48+
func testSafeIndexEquatable() {
49+
XCTAssertTrue(^5 == ^5)
50+
XCTAssertTrue(^3 == 3)
51+
XCTAssertTrue(2 == ^2)
52+
}
53+
54+
func testSafeIndexComparable() {
55+
XCTAssertTrue(^5 > ^4)
56+
XCTAssertTrue(5 > 4)
57+
XCTAssertTrue(5 > ^4)
58+
59+
XCTAssertTrue(^3 >= ^3)
60+
XCTAssertTrue(^3 >= 3)
61+
XCTAssertTrue(3 >= ^3)
62+
63+
XCTAssertTrue(^4 < ^6)
64+
XCTAssertTrue(^4 < 6)
65+
XCTAssertTrue(4 < ^6)
66+
67+
XCTAssertTrue(^6 <= ^6)
68+
XCTAssertTrue(^6 <= 6)
69+
XCTAssertTrue(6 <= ^6)
70+
}
71+
72+
func testSafeIndexArithmetic() {
73+
XCTAssertEqual(^5, ^2 + ^3)
74+
XCTAssertEqual(^11, ^10 + 1)
75+
XCTAssertEqual(^12, 2 + ^10)
76+
77+
XCTAssertEqual(^1, ^3 - ^2)
78+
XCTAssertEqual(^9, ^10 - 1)
79+
XCTAssertEqual(^3, 11 - ^8)
80+
81+
XCTAssertEqual(^6, ^2 * ^3)
82+
XCTAssertEqual(^20, ^10 * 2)
83+
XCTAssertEqual(^30, 3 * ^10)
84+
85+
XCTAssertEqual(^2, ^6 / ^3)
86+
XCTAssertEqual(^3, ^10 / 3)
87+
XCTAssertEqual(^6, 20 / ^3)
88+
}
4389
}

0 commit comments

Comments
 (0)