@@ -17,26 +17,26 @@ class BinarySearchTreeTest: XCTestCase {
17
17
XCTAssertEqual ( tree. count, 8 )
18
18
XCTAssertEqual ( tree. toArray ( ) , [ 3 , 5 , 6 , 8 , 9 , 10 , 12 , 16 ] )
19
19
20
- XCTAssertEqual ( tree. search ( 9 ) !. value, 9 )
21
- XCTAssertNil ( tree. search ( 99 ) )
20
+ XCTAssertEqual ( tree. search ( value : 9 ) !. value, 9 )
21
+ XCTAssertNil ( tree. search ( value : 99 ) )
22
22
23
23
XCTAssertEqual ( tree. minimum ( ) . value, 3 )
24
24
XCTAssertEqual ( tree. maximum ( ) . value, 16 )
25
25
26
26
XCTAssertEqual ( tree. height ( ) , 3 )
27
27
XCTAssertEqual ( tree. depth ( ) , 0 )
28
28
29
- let node1 = tree. search ( 16 )
29
+ let node1 = tree. search ( value : 16 )
30
30
XCTAssertNotNil ( node1)
31
31
XCTAssertEqual ( node1!. height ( ) , 0 )
32
32
XCTAssertEqual ( node1!. depth ( ) , 3 )
33
33
34
- let node2 = tree. search ( 12 )
34
+ let node2 = tree. search ( value : 12 )
35
35
XCTAssertNotNil ( node2)
36
36
XCTAssertEqual ( node2!. height ( ) , 1 )
37
37
XCTAssertEqual ( node2!. depth ( ) , 2 )
38
38
39
- let node3 = tree. search ( 10 )
39
+ let node3 = tree. search ( value : 10 )
40
40
XCTAssertNotNil ( node3)
41
41
XCTAssertEqual ( node3!. height ( ) , 2 )
42
42
XCTAssertEqual ( node3!. depth ( ) , 1 )
@@ -45,32 +45,32 @@ class BinarySearchTreeTest: XCTestCase {
45
45
func testInsert( ) {
46
46
let tree = BinarySearchTree ( value: 8 )
47
47
48
- tree. insert ( 5 )
48
+ tree. insert ( value : 5 )
49
49
XCTAssertEqual ( tree. count, 2 )
50
50
XCTAssertEqual ( tree. height ( ) , 1 )
51
51
XCTAssertEqual ( tree. depth ( ) , 0 )
52
52
53
- let node1 = tree. search ( 5 )
53
+ let node1 = tree. search ( value : 5 )
54
54
XCTAssertNotNil ( node1)
55
55
XCTAssertEqual ( node1!. height ( ) , 0 )
56
56
XCTAssertEqual ( node1!. depth ( ) , 1 )
57
57
58
- tree. insert ( 10 )
58
+ tree. insert ( value : 10 )
59
59
XCTAssertEqual ( tree. count, 3 )
60
60
XCTAssertEqual ( tree. height ( ) , 1 )
61
61
XCTAssertEqual ( tree. depth ( ) , 0 )
62
62
63
- let node2 = tree. search ( 10 )
63
+ let node2 = tree. search ( value : 10 )
64
64
XCTAssertNotNil ( node2)
65
65
XCTAssertEqual ( node2!. height ( ) , 0 )
66
66
XCTAssertEqual ( node2!. depth ( ) , 1 )
67
67
68
- tree. insert ( 3 )
68
+ tree. insert ( value : 3 )
69
69
XCTAssertEqual ( tree. count, 4 )
70
70
XCTAssertEqual ( tree. height ( ) , 2 )
71
71
XCTAssertEqual ( tree. depth ( ) , 0 )
72
72
73
- let node3 = tree. search ( 3 )
73
+ let node3 = tree. search ( value : 3 )
74
74
XCTAssertNotNil ( node3)
75
75
XCTAssertEqual ( node3!. height ( ) , 0 )
76
76
XCTAssertEqual ( node3!. depth ( ) , 2 )
@@ -84,9 +84,9 @@ class BinarySearchTreeTest: XCTestCase {
84
84
85
85
func testInsertDuplicates( ) {
86
86
let tree = BinarySearchTree ( array: [ 8 , 5 , 10 ] )
87
- tree. insert ( 8 )
88
- tree. insert ( 5 )
89
- tree. insert ( 10 )
87
+ tree. insert ( value : 8 )
88
+ tree. insert ( value : 5 )
89
+ tree. insert ( value : 10 )
90
90
XCTAssertEqual ( tree. count, 6 )
91
91
XCTAssertEqual ( tree. toArray ( ) , [ 5 , 5 , 8 , 8 , 10 , 10 ] )
92
92
}
@@ -108,7 +108,7 @@ class BinarySearchTreeTest: XCTestCase {
108
108
}
109
109
110
110
func testInsertSorted( ) {
111
- let tree = BinarySearchTree ( array: [ 8 , 5 , 10 , 3 , 12 , 9 , 6 , 16 ] . sort ( < ) )
111
+ let tree = BinarySearchTree ( array: [ 8 , 5 , 10 , 3 , 12 , 9 , 6 , 16 ] . sorted ( by : < ) )
112
112
XCTAssertEqual ( tree. count, 8 )
113
113
XCTAssertEqual ( tree. toArray ( ) , [ 3 , 5 , 6 , 8 , 9 , 10 , 12 , 16 ] )
114
114
@@ -118,7 +118,7 @@ class BinarySearchTreeTest: XCTestCase {
118
118
XCTAssertEqual ( tree. height ( ) , 7 )
119
119
XCTAssertEqual ( tree. depth ( ) , 0 )
120
120
121
- let node1 = tree. search ( 16 )
121
+ let node1 = tree. search ( value : 16 )
122
122
XCTAssertNotNil ( node1)
123
123
XCTAssertEqual ( node1!. height ( ) , 0 )
124
124
XCTAssertEqual ( node1!. depth ( ) , 7 )
@@ -127,15 +127,15 @@ class BinarySearchTreeTest: XCTestCase {
127
127
func testRemoveLeaf( ) {
128
128
let tree = BinarySearchTree ( array: [ 8 , 5 , 10 , 4 ] )
129
129
130
- let node10 = tree. search ( 10 ) !
130
+ let node10 = tree. search ( value : 10 ) !
131
131
XCTAssertNil ( node10. left)
132
132
XCTAssertNil ( node10. right)
133
133
XCTAssertTrue ( tree. right === node10)
134
134
135
- let node5 = tree. search ( 5 ) !
135
+ let node5 = tree. search ( value : 5 ) !
136
136
XCTAssertTrue ( tree. left === node5)
137
137
138
- let node4 = tree. search ( 4 ) !
138
+ let node4 = tree. search ( value : 4 ) !
139
139
XCTAssertTrue ( node5. left === node4)
140
140
XCTAssertNil ( node5. right)
141
141
@@ -158,8 +158,8 @@ class BinarySearchTreeTest: XCTestCase {
158
158
func testRemoveOneChildLeft( ) {
159
159
let tree = BinarySearchTree ( array: [ 8 , 5 , 10 , 4 , 9 ] )
160
160
161
- let node4 = tree. search ( 4 ) !
162
- let node5 = tree. search ( 5 ) !
161
+ let node4 = tree. search ( value : 4 ) !
162
+ let node5 = tree. search ( value : 5 ) !
163
163
XCTAssertTrue ( node5. left === node4)
164
164
XCTAssertTrue ( node5 === node4. parent)
165
165
@@ -171,8 +171,8 @@ class BinarySearchTreeTest: XCTestCase {
171
171
XCTAssertEqual ( tree. count, 4 )
172
172
XCTAssertEqual ( tree. toArray ( ) , [ 4 , 8 , 9 , 10 ] )
173
173
174
- let node9 = tree. search ( 9 ) !
175
- let node10 = tree. search ( 10 ) !
174
+ let node9 = tree. search ( value : 9 ) !
175
+ let node10 = tree. search ( value : 10 ) !
176
176
XCTAssertTrue ( node10. left === node9)
177
177
XCTAssertTrue ( node10 === node9. parent)
178
178
@@ -188,8 +188,8 @@ class BinarySearchTreeTest: XCTestCase {
188
188
func testRemoveOneChildRight( ) {
189
189
let tree = BinarySearchTree ( array: [ 8 , 5 , 10 , 6 , 11 ] )
190
190
191
- let node6 = tree. search ( 6 ) !
192
- let node5 = tree. search ( 5 ) !
191
+ let node6 = tree. search ( value : 6 ) !
192
+ let node5 = tree. search ( value : 5 ) !
193
193
XCTAssertTrue ( node5. right === node6)
194
194
XCTAssertTrue ( node5 === node6. parent)
195
195
@@ -201,8 +201,8 @@ class BinarySearchTreeTest: XCTestCase {
201
201
XCTAssertEqual ( tree. count, 4 )
202
202
XCTAssertEqual ( tree. toArray ( ) , [ 6 , 8 , 10 , 11 ] )
203
203
204
- let node11 = tree. search ( 11 ) !
205
- let node10 = tree. search ( 10 ) !
204
+ let node11 = tree. search ( value : 11 ) !
205
+ let node10 = tree. search ( value : 10 ) !
206
206
XCTAssertTrue ( node10. right === node11)
207
207
XCTAssertTrue ( node10 === node11. parent)
208
208
@@ -218,9 +218,9 @@ class BinarySearchTreeTest: XCTestCase {
218
218
func testRemoveTwoChildrenSimple( ) {
219
219
let tree = BinarySearchTree ( array: [ 8 , 5 , 10 , 4 , 6 , 9 , 11 ] )
220
220
221
- let node4 = tree. search ( 4 ) !
222
- let node5 = tree. search ( 5 ) !
223
- let node6 = tree. search ( 6 ) !
221
+ let node4 = tree. search ( value : 4 ) !
222
+ let node5 = tree. search ( value : 5 ) !
223
+ let node6 = tree. search ( value : 6 ) !
224
224
XCTAssertTrue ( node5. left === node4)
225
225
XCTAssertTrue ( node5. right === node6)
226
226
XCTAssertTrue ( node5 === node4. parent)
@@ -241,9 +241,9 @@ class BinarySearchTreeTest: XCTestCase {
241
241
XCTAssertEqual ( tree. count, 6 )
242
242
XCTAssertEqual ( tree. toArray ( ) , [ 4 , 6 , 8 , 9 , 10 , 11 ] )
243
243
244
- let node9 = tree. search ( 9 ) !
245
- let node10 = tree. search ( 10 ) !
246
- let node11 = tree. search ( 11 ) !
244
+ let node9 = tree. search ( value : 9 ) !
245
+ let node10 = tree. search ( value : 10 ) !
246
+ let node11 = tree. search ( value : 11 ) !
247
247
XCTAssertTrue ( node10. left === node9)
248
248
XCTAssertTrue ( node10. right === node11)
249
249
XCTAssertTrue ( node10 === node9. parent)
@@ -268,11 +268,12 @@ class BinarySearchTreeTest: XCTestCase {
268
268
func testRemoveTwoChildrenComplex( ) {
269
269
let tree = BinarySearchTree ( array: [ 8 , 5 , 10 , 4 , 9 , 20 , 11 , 15 , 13 ] )
270
270
271
- let node9 = tree. search ( 9 ) !
272
- let node10 = tree. search ( 10 ) !
273
- let node11 = tree. search ( 11 ) !
274
- let node15 = tree. search ( 15 ) !
275
- let node20 = tree. search ( 20 ) !
271
+ let node9 = tree. search ( value: 9 ) !
272
+ let node10 = tree. search ( value: 10 ) !
273
+ let node11 = tree. search ( value: 11 ) !
274
+ let node13 = tree. search ( value: 13 ) !
275
+ let node15 = tree. search ( value: 15 ) !
276
+ let node20 = tree. search ( value: 20 ) !
276
277
XCTAssertTrue ( node10. left === node9)
277
278
XCTAssertTrue ( node10 === node9. parent)
278
279
XCTAssertTrue ( node10. right === node20)
@@ -290,8 +291,8 @@ class BinarySearchTreeTest: XCTestCase {
290
291
XCTAssertTrue ( node11 === node9. parent)
291
292
XCTAssertTrue ( node11. right === node20)
292
293
XCTAssertTrue ( node11 === node20. parent)
293
- XCTAssertTrue ( node20. left === node15 )
294
- XCTAssertTrue ( node20 === node15 . parent)
294
+ XCTAssertTrue ( node20. left === node13 )
295
+ XCTAssertTrue ( node20 === node13 . parent)
295
296
XCTAssertNil ( node20. right)
296
297
XCTAssertNil ( node10. left)
297
298
XCTAssertNil ( node10. right)
@@ -303,7 +304,7 @@ class BinarySearchTreeTest: XCTestCase {
303
304
func testRemoveRoot( ) {
304
305
let tree = BinarySearchTree ( array: [ 8 , 5 , 10 , 4 , 9 , 20 , 11 , 15 , 13 ] )
305
306
306
- let node9 = tree. search ( 9 ) !
307
+ let node9 = tree. search ( value : 9 ) !
307
308
308
309
let newRoot = tree. remove ( )
309
310
XCTAssertTrue ( newRoot === node9)
@@ -319,7 +320,7 @@ class BinarySearchTreeTest: XCTestCase {
319
320
320
321
func testPredecessor( ) {
321
322
let tree = BinarySearchTree ( array: [ 3 , 1 , 2 , 5 , 4 ] )
322
- let node = tree. search ( 5 )
323
+ let node = tree. search ( value : 5 )
323
324
324
325
XCTAssertEqual ( node!. value, 5 )
325
326
XCTAssertEqual ( node!. predecessor ( ) !. value, 4 )
@@ -331,7 +332,7 @@ class BinarySearchTreeTest: XCTestCase {
331
332
332
333
func testSuccessor( ) {
333
334
let tree = BinarySearchTree ( array: [ 3 , 1 , 2 , 5 , 4 ] )
334
- let node = tree. search ( 1 )
335
+ let node = tree. search ( value : 1 )
335
336
336
337
XCTAssertEqual ( node!. value, 1 )
337
338
XCTAssertEqual ( node!. successor ( ) !. value, 2 )
0 commit comments