@@ -156,6 +156,24 @@ class SortedArrayTests: XCTestCase {
156156 let sut = SortedArray ( unsorted: [ " a " , " b " , " c " ] )
157157 assertElementsEqual ( sut. filter { $0 != " a " } , [ " b " , " c " ] )
158158 }
159+
160+ func testRemoveAtBeginningPreservesSortOrder( ) {
161+ var sut = SortedArray ( unsorted: 1 ... 3 )
162+ sut. remove ( 1 )
163+ assertElementsEqual ( sut, [ 2 , 3 ] )
164+ }
165+
166+ func testRemoveInMiddlePreservesSortOrder( ) {
167+ var sut = SortedArray ( unsorted: 1 ... 5 )
168+ sut. remove ( 4 )
169+ assertElementsEqual ( sut, [ 1 , 2 , 3 , 5 ] )
170+ }
171+
172+ func testRemoveAtEndPreservesSortOrder( ) {
173+ var sut = SortedArray ( unsorted: 1 ... 3 )
174+ sut. remove ( 3 )
175+ assertElementsEqual ( sut, [ 1 , 2 ] )
176+ }
159177}
160178
161179extension SortedArrayTests {
@@ -183,7 +201,10 @@ extension SortedArrayTests {
183201 ( " testMin " , testMin) ,
184202 ( " testMax " , testMax) ,
185203 ( " testCustomStringConvertible " , testCustomStringConvertible) ,
186- ( " testCustomDebugStringConvertible " , testCustomDebugStringConvertible)
204+ ( " testCustomDebugStringConvertible " , testCustomDebugStringConvertible) ,
205+ ( " testRemoveAtBeginningPreservesSortOrder " , testRemoveAtBeginningPreservesSortOrder) ,
206+ ( " testRemoveInMiddlePreservesSortOrder " , testRemoveInMiddlePreservesSortOrder) ,
207+ ( " testRemoveAtEndPreservesSortOrder " , testRemoveAtEndPreservesSortOrder) ,
187208 ]
188209 }
189210}
0 commit comments