@@ -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