@@ -6,9 +6,9 @@ describe('RedBlackTree', () => {
6
6
7
7
const firstInsertedNode = tree . insert ( 10 ) ;
8
8
9
- expect ( tree . isNodeColored ( firstInsertedNode ) ) . toBeTruthy ( ) ;
10
- expect ( tree . isNodeBlack ( firstInsertedNode ) ) . toBeTruthy ( ) ;
11
- expect ( tree . isNodeRed ( firstInsertedNode ) ) . toBeFalsy ( ) ;
9
+ expect ( tree . isNodeColored ( firstInsertedNode ) ) . toBe ( true ) ;
10
+ expect ( tree . isNodeBlack ( firstInsertedNode ) ) . toBe ( true ) ;
11
+ expect ( tree . isNodeRed ( firstInsertedNode ) ) . toBe ( false ) ;
12
12
13
13
expect ( tree . toString ( ) ) . toBe ( '10' ) ;
14
14
expect ( tree . root . height ) . toBe ( 0 ) ;
@@ -21,9 +21,9 @@ describe('RedBlackTree', () => {
21
21
const secondInsertedNode = tree . insert ( 15 ) ;
22
22
const thirdInsertedNode = tree . insert ( 5 ) ;
23
23
24
- expect ( tree . isNodeBlack ( firstInsertedNode ) ) . toBeTruthy ( ) ;
25
- expect ( tree . isNodeRed ( secondInsertedNode ) ) . toBeTruthy ( ) ;
26
- expect ( tree . isNodeRed ( thirdInsertedNode ) ) . toBeTruthy ( ) ;
24
+ expect ( tree . isNodeBlack ( firstInsertedNode ) ) . toBe ( true ) ;
25
+ expect ( tree . isNodeRed ( secondInsertedNode ) ) . toBe ( true ) ;
26
+ expect ( tree . isNodeRed ( thirdInsertedNode ) ) . toBe ( true ) ;
27
27
28
28
expect ( tree . toString ( ) ) . toBe ( '5,10,15' ) ;
29
29
expect ( tree . root . height ) . toBe ( 1 ) ;
@@ -48,42 +48,42 @@ describe('RedBlackTree', () => {
48
48
49
49
const node1 = tree . insert ( 10 ) ;
50
50
51
- expect ( tree . isNodeBlack ( node1 ) ) . toBeTruthy ( ) ;
51
+ expect ( tree . isNodeBlack ( node1 ) ) . toBe ( true ) ;
52
52
53
53
const node2 = tree . insert ( - 10 ) ;
54
54
55
- expect ( tree . isNodeBlack ( node1 ) ) . toBeTruthy ( ) ;
56
- expect ( tree . isNodeRed ( node2 ) ) . toBeTruthy ( ) ;
55
+ expect ( tree . isNodeBlack ( node1 ) ) . toBe ( true ) ;
56
+ expect ( tree . isNodeRed ( node2 ) ) . toBe ( true ) ;
57
57
58
58
const node3 = tree . insert ( 20 ) ;
59
59
60
- expect ( tree . isNodeBlack ( node1 ) ) . toBeTruthy ( ) ;
61
- expect ( tree . isNodeRed ( node2 ) ) . toBeTruthy ( ) ;
62
- expect ( tree . isNodeRed ( node3 ) ) . toBeTruthy ( ) ;
60
+ expect ( tree . isNodeBlack ( node1 ) ) . toBe ( true ) ;
61
+ expect ( tree . isNodeRed ( node2 ) ) . toBe ( true ) ;
62
+ expect ( tree . isNodeRed ( node3 ) ) . toBe ( true ) ;
63
63
64
64
const node4 = tree . insert ( - 20 ) ;
65
65
66
- expect ( tree . isNodeBlack ( node1 ) ) . toBeTruthy ( ) ;
67
- expect ( tree . isNodeBlack ( node2 ) ) . toBeTruthy ( ) ;
68
- expect ( tree . isNodeBlack ( node3 ) ) . toBeTruthy ( ) ;
69
- expect ( tree . isNodeRed ( node4 ) ) . toBeTruthy ( ) ;
66
+ expect ( tree . isNodeBlack ( node1 ) ) . toBe ( true ) ;
67
+ expect ( tree . isNodeBlack ( node2 ) ) . toBe ( true ) ;
68
+ expect ( tree . isNodeBlack ( node3 ) ) . toBe ( true ) ;
69
+ expect ( tree . isNodeRed ( node4 ) ) . toBe ( true ) ;
70
70
71
71
const node5 = tree . insert ( 25 ) ;
72
72
73
- expect ( tree . isNodeBlack ( node1 ) ) . toBeTruthy ( ) ;
74
- expect ( tree . isNodeBlack ( node2 ) ) . toBeTruthy ( ) ;
75
- expect ( tree . isNodeBlack ( node3 ) ) . toBeTruthy ( ) ;
76
- expect ( tree . isNodeRed ( node4 ) ) . toBeTruthy ( ) ;
77
- expect ( tree . isNodeRed ( node5 ) ) . toBeTruthy ( ) ;
73
+ expect ( tree . isNodeBlack ( node1 ) ) . toBe ( true ) ;
74
+ expect ( tree . isNodeBlack ( node2 ) ) . toBe ( true ) ;
75
+ expect ( tree . isNodeBlack ( node3 ) ) . toBe ( true ) ;
76
+ expect ( tree . isNodeRed ( node4 ) ) . toBe ( true ) ;
77
+ expect ( tree . isNodeRed ( node5 ) ) . toBe ( true ) ;
78
78
79
79
const node6 = tree . insert ( 6 ) ;
80
80
81
- expect ( tree . isNodeBlack ( node1 ) ) . toBeTruthy ( ) ;
82
- expect ( tree . isNodeBlack ( node2 ) ) . toBeTruthy ( ) ;
83
- expect ( tree . isNodeBlack ( node3 ) ) . toBeTruthy ( ) ;
84
- expect ( tree . isNodeRed ( node4 ) ) . toBeTruthy ( ) ;
85
- expect ( tree . isNodeRed ( node5 ) ) . toBeTruthy ( ) ;
86
- expect ( tree . isNodeRed ( node6 ) ) . toBeTruthy ( ) ;
81
+ expect ( tree . isNodeBlack ( node1 ) ) . toBe ( true ) ;
82
+ expect ( tree . isNodeBlack ( node2 ) ) . toBe ( true ) ;
83
+ expect ( tree . isNodeBlack ( node3 ) ) . toBe ( true ) ;
84
+ expect ( tree . isNodeRed ( node4 ) ) . toBe ( true ) ;
85
+ expect ( tree . isNodeRed ( node5 ) ) . toBe ( true ) ;
86
+ expect ( tree . isNodeRed ( node6 ) ) . toBe ( true ) ;
87
87
88
88
expect ( tree . toString ( ) ) . toBe ( '-20,-10,6,10,20,25' ) ;
89
89
expect ( tree . root . height ) . toBe ( 2 ) ;
@@ -95,14 +95,14 @@ describe('RedBlackTree', () => {
95
95
expect ( tree . toString ( ) ) . toBe ( '-20,-10,4,6,10,20,25' ) ;
96
96
expect ( tree . root . height ) . toBe ( 3 ) ;
97
97
98
- expect ( tree . isNodeBlack ( node1 ) ) . toBeTruthy ( ) ;
99
- expect ( tree . isNodeRed ( node2 ) ) . toBeTruthy ( ) ;
100
- expect ( tree . isNodeBlack ( node3 ) ) . toBeTruthy ( ) ;
101
- expect ( tree . isNodeBlack ( node4 ) ) . toBeTruthy ( ) ;
102
- expect ( tree . isNodeBlack ( node4 ) ) . toBeTruthy ( ) ;
103
- expect ( tree . isNodeRed ( node5 ) ) . toBeTruthy ( ) ;
104
- expect ( tree . isNodeBlack ( node6 ) ) . toBeTruthy ( ) ;
105
- expect ( tree . isNodeRed ( node7 ) ) . toBeTruthy ( ) ;
98
+ expect ( tree . isNodeBlack ( node1 ) ) . toBe ( true ) ;
99
+ expect ( tree . isNodeRed ( node2 ) ) . toBe ( true ) ;
100
+ expect ( tree . isNodeBlack ( node3 ) ) . toBe ( true ) ;
101
+ expect ( tree . isNodeBlack ( node4 ) ) . toBe ( true ) ;
102
+ expect ( tree . isNodeBlack ( node4 ) ) . toBe ( true ) ;
103
+ expect ( tree . isNodeRed ( node5 ) ) . toBe ( true ) ;
104
+ expect ( tree . isNodeBlack ( node6 ) ) . toBe ( true ) ;
105
+ expect ( tree . isNodeRed ( node7 ) ) . toBe ( true ) ;
106
106
} ) ;
107
107
108
108
it ( 'should balance itself when uncle is red' , ( ) => {
@@ -121,15 +121,15 @@ describe('RedBlackTree', () => {
121
121
expect ( tree . toString ( ) ) . toBe ( '-20,-10,2,6,8,10,15,20,25' ) ;
122
122
expect ( tree . root . height ) . toBe ( 3 ) ;
123
123
124
- expect ( tree . isNodeBlack ( node1 ) ) . toBeTruthy ( ) ;
125
- expect ( tree . isNodeRed ( node2 ) ) . toBeTruthy ( ) ;
126
- expect ( tree . isNodeBlack ( node3 ) ) . toBeTruthy ( ) ;
127
- expect ( tree . isNodeBlack ( node4 ) ) . toBeTruthy ( ) ;
128
- expect ( tree . isNodeBlack ( node5 ) ) . toBeTruthy ( ) ;
129
- expect ( tree . isNodeRed ( node6 ) ) . toBeTruthy ( ) ;
130
- expect ( tree . isNodeRed ( node7 ) ) . toBeTruthy ( ) ;
131
- expect ( tree . isNodeRed ( node8 ) ) . toBeTruthy ( ) ;
132
- expect ( tree . isNodeRed ( node9 ) ) . toBeTruthy ( ) ;
124
+ expect ( tree . isNodeBlack ( node1 ) ) . toBe ( true ) ;
125
+ expect ( tree . isNodeRed ( node2 ) ) . toBe ( true ) ;
126
+ expect ( tree . isNodeBlack ( node3 ) ) . toBe ( true ) ;
127
+ expect ( tree . isNodeBlack ( node4 ) ) . toBe ( true ) ;
128
+ expect ( tree . isNodeBlack ( node5 ) ) . toBe ( true ) ;
129
+ expect ( tree . isNodeRed ( node6 ) ) . toBe ( true ) ;
130
+ expect ( tree . isNodeRed ( node7 ) ) . toBe ( true ) ;
131
+ expect ( tree . isNodeRed ( node8 ) ) . toBe ( true ) ;
132
+ expect ( tree . isNodeRed ( node9 ) ) . toBe ( true ) ;
133
133
134
134
const node10 = tree . insert ( 4 ) ;
135
135
@@ -138,16 +138,16 @@ describe('RedBlackTree', () => {
138
138
139
139
expect ( tree . root . value ) . toBe ( node5 . value ) ;
140
140
141
- expect ( tree . isNodeBlack ( node5 ) ) . toBeTruthy ( ) ;
142
- expect ( tree . isNodeRed ( node1 ) ) . toBeTruthy ( ) ;
143
- expect ( tree . isNodeRed ( node2 ) ) . toBeTruthy ( ) ;
144
- expect ( tree . isNodeRed ( node10 ) ) . toBeTruthy ( ) ;
145
- expect ( tree . isNodeRed ( node6 ) ) . toBeTruthy ( ) ;
146
- expect ( tree . isNodeRed ( node7 ) ) . toBeTruthy ( ) ;
147
- expect ( tree . isNodeBlack ( node4 ) ) . toBeTruthy ( ) ;
148
- expect ( tree . isNodeBlack ( node8 ) ) . toBeTruthy ( ) ;
149
- expect ( tree . isNodeBlack ( node9 ) ) . toBeTruthy ( ) ;
150
- expect ( tree . isNodeBlack ( node3 ) ) . toBeTruthy ( ) ;
141
+ expect ( tree . isNodeBlack ( node5 ) ) . toBe ( true ) ;
142
+ expect ( tree . isNodeRed ( node1 ) ) . toBe ( true ) ;
143
+ expect ( tree . isNodeRed ( node2 ) ) . toBe ( true ) ;
144
+ expect ( tree . isNodeRed ( node10 ) ) . toBe ( true ) ;
145
+ expect ( tree . isNodeRed ( node6 ) ) . toBe ( true ) ;
146
+ expect ( tree . isNodeRed ( node7 ) ) . toBe ( true ) ;
147
+ expect ( tree . isNodeBlack ( node4 ) ) . toBe ( true ) ;
148
+ expect ( tree . isNodeBlack ( node8 ) ) . toBe ( true ) ;
149
+ expect ( tree . isNodeBlack ( node9 ) ) . toBe ( true ) ;
150
+ expect ( tree . isNodeBlack ( node3 ) ) . toBe ( true ) ;
151
151
} ) ;
152
152
153
153
it ( 'should do left-left rotation' , ( ) => {
@@ -162,23 +162,23 @@ describe('RedBlackTree', () => {
162
162
expect ( tree . toString ( ) ) . toBe ( '-10,7,10,15,20' ) ;
163
163
expect ( tree . root . height ) . toBe ( 2 ) ;
164
164
165
- expect ( tree . isNodeBlack ( node1 ) ) . toBeTruthy ( ) ;
166
- expect ( tree . isNodeBlack ( node2 ) ) . toBeTruthy ( ) ;
167
- expect ( tree . isNodeBlack ( node3 ) ) . toBeTruthy ( ) ;
168
- expect ( tree . isNodeRed ( node4 ) ) . toBeTruthy ( ) ;
169
- expect ( tree . isNodeRed ( node5 ) ) . toBeTruthy ( ) ;
165
+ expect ( tree . isNodeBlack ( node1 ) ) . toBe ( true ) ;
166
+ expect ( tree . isNodeBlack ( node2 ) ) . toBe ( true ) ;
167
+ expect ( tree . isNodeBlack ( node3 ) ) . toBe ( true ) ;
168
+ expect ( tree . isNodeRed ( node4 ) ) . toBe ( true ) ;
169
+ expect ( tree . isNodeRed ( node5 ) ) . toBe ( true ) ;
170
170
171
171
const node6 = tree . insert ( 13 ) ;
172
172
173
173
expect ( tree . toString ( ) ) . toBe ( '-10,7,10,13,15,20' ) ;
174
174
expect ( tree . root . height ) . toBe ( 2 ) ;
175
175
176
- expect ( tree . isNodeBlack ( node1 ) ) . toBeTruthy ( ) ;
177
- expect ( tree . isNodeBlack ( node2 ) ) . toBeTruthy ( ) ;
178
- expect ( tree . isNodeBlack ( node5 ) ) . toBeTruthy ( ) ;
179
- expect ( tree . isNodeRed ( node4 ) ) . toBeTruthy ( ) ;
180
- expect ( tree . isNodeRed ( node6 ) ) . toBeTruthy ( ) ;
181
- expect ( tree . isNodeRed ( node3 ) ) . toBeTruthy ( ) ;
176
+ expect ( tree . isNodeBlack ( node1 ) ) . toBe ( true ) ;
177
+ expect ( tree . isNodeBlack ( node2 ) ) . toBe ( true ) ;
178
+ expect ( tree . isNodeBlack ( node5 ) ) . toBe ( true ) ;
179
+ expect ( tree . isNodeRed ( node4 ) ) . toBe ( true ) ;
180
+ expect ( tree . isNodeRed ( node6 ) ) . toBe ( true ) ;
181
+ expect ( tree . isNodeRed ( node3 ) ) . toBe ( true ) ;
182
182
} ) ;
183
183
184
184
it ( 'should do left-right rotation' , ( ) => {
@@ -193,23 +193,23 @@ describe('RedBlackTree', () => {
193
193
expect ( tree . toString ( ) ) . toBe ( '-10,7,10,15,20' ) ;
194
194
expect ( tree . root . height ) . toBe ( 2 ) ;
195
195
196
- expect ( tree . isNodeBlack ( node1 ) ) . toBeTruthy ( ) ;
197
- expect ( tree . isNodeBlack ( node2 ) ) . toBeTruthy ( ) ;
198
- expect ( tree . isNodeBlack ( node3 ) ) . toBeTruthy ( ) ;
199
- expect ( tree . isNodeRed ( node4 ) ) . toBeTruthy ( ) ;
200
- expect ( tree . isNodeRed ( node5 ) ) . toBeTruthy ( ) ;
196
+ expect ( tree . isNodeBlack ( node1 ) ) . toBe ( true ) ;
197
+ expect ( tree . isNodeBlack ( node2 ) ) . toBe ( true ) ;
198
+ expect ( tree . isNodeBlack ( node3 ) ) . toBe ( true ) ;
199
+ expect ( tree . isNodeRed ( node4 ) ) . toBe ( true ) ;
200
+ expect ( tree . isNodeRed ( node5 ) ) . toBe ( true ) ;
201
201
202
202
const node6 = tree . insert ( 17 ) ;
203
203
204
204
expect ( tree . toString ( ) ) . toBe ( '-10,7,10,15,17,20' ) ;
205
205
expect ( tree . root . height ) . toBe ( 2 ) ;
206
206
207
- expect ( tree . isNodeBlack ( node1 ) ) . toBeTruthy ( ) ;
208
- expect ( tree . isNodeBlack ( node2 ) ) . toBeTruthy ( ) ;
209
- expect ( tree . isNodeBlack ( node6 ) ) . toBeTruthy ( ) ;
210
- expect ( tree . isNodeRed ( node4 ) ) . toBeTruthy ( ) ;
211
- expect ( tree . isNodeRed ( node5 ) ) . toBeTruthy ( ) ;
212
- expect ( tree . isNodeRed ( node3 ) ) . toBeTruthy ( ) ;
207
+ expect ( tree . isNodeBlack ( node1 ) ) . toBe ( true ) ;
208
+ expect ( tree . isNodeBlack ( node2 ) ) . toBe ( true ) ;
209
+ expect ( tree . isNodeBlack ( node6 ) ) . toBe ( true ) ;
210
+ expect ( tree . isNodeRed ( node4 ) ) . toBe ( true ) ;
211
+ expect ( tree . isNodeRed ( node5 ) ) . toBe ( true ) ;
212
+ expect ( tree . isNodeRed ( node3 ) ) . toBe ( true ) ;
213
213
} ) ;
214
214
215
215
it ( 'should do recoloring, left-left and left-right rotation' , ( ) => {
@@ -228,15 +228,15 @@ describe('RedBlackTree', () => {
228
228
expect ( tree . toString ( ) ) . toBe ( '-20,-10,1,6,9,10,15,20,30' ) ;
229
229
expect ( tree . root . height ) . toBe ( 3 ) ;
230
230
231
- expect ( tree . isNodeBlack ( node1 ) ) . toBeTruthy ( ) ;
232
- expect ( tree . isNodeRed ( node2 ) ) . toBeTruthy ( ) ;
233
- expect ( tree . isNodeBlack ( node3 ) ) . toBeTruthy ( ) ;
234
- expect ( tree . isNodeBlack ( node4 ) ) . toBeTruthy ( ) ;
235
- expect ( tree . isNodeBlack ( node5 ) ) . toBeTruthy ( ) ;
236
- expect ( tree . isNodeRed ( node6 ) ) . toBeTruthy ( ) ;
237
- expect ( tree . isNodeRed ( node7 ) ) . toBeTruthy ( ) ;
238
- expect ( tree . isNodeRed ( node8 ) ) . toBeTruthy ( ) ;
239
- expect ( tree . isNodeRed ( node9 ) ) . toBeTruthy ( ) ;
231
+ expect ( tree . isNodeBlack ( node1 ) ) . toBe ( true ) ;
232
+ expect ( tree . isNodeRed ( node2 ) ) . toBe ( true ) ;
233
+ expect ( tree . isNodeBlack ( node3 ) ) . toBe ( true ) ;
234
+ expect ( tree . isNodeBlack ( node4 ) ) . toBe ( true ) ;
235
+ expect ( tree . isNodeBlack ( node5 ) ) . toBe ( true ) ;
236
+ expect ( tree . isNodeRed ( node6 ) ) . toBe ( true ) ;
237
+ expect ( tree . isNodeRed ( node7 ) ) . toBe ( true ) ;
238
+ expect ( tree . isNodeRed ( node8 ) ) . toBe ( true ) ;
239
+ expect ( tree . isNodeRed ( node9 ) ) . toBe ( true ) ;
240
240
241
241
tree . insert ( 4 ) ;
242
242
@@ -257,12 +257,12 @@ describe('RedBlackTree', () => {
257
257
expect ( tree . toString ( ) ) . toBe ( '-20,-10,6,10,20,30' ) ;
258
258
expect ( tree . root . height ) . toBe ( 2 ) ;
259
259
260
- expect ( tree . isNodeBlack ( node1 ) ) . toBeTruthy ( ) ;
261
- expect ( tree . isNodeBlack ( node2 ) ) . toBeTruthy ( ) ;
262
- expect ( tree . isNodeBlack ( node3 ) ) . toBeTruthy ( ) ;
263
- expect ( tree . isNodeRed ( node4 ) ) . toBeTruthy ( ) ;
264
- expect ( tree . isNodeRed ( node5 ) ) . toBeTruthy ( ) ;
265
- expect ( tree . isNodeRed ( node6 ) ) . toBeTruthy ( ) ;
260
+ expect ( tree . isNodeBlack ( node1 ) ) . toBe ( true ) ;
261
+ expect ( tree . isNodeBlack ( node2 ) ) . toBe ( true ) ;
262
+ expect ( tree . isNodeBlack ( node3 ) ) . toBe ( true ) ;
263
+ expect ( tree . isNodeRed ( node4 ) ) . toBe ( true ) ;
264
+ expect ( tree . isNodeRed ( node5 ) ) . toBe ( true ) ;
265
+ expect ( tree . isNodeRed ( node6 ) ) . toBe ( true ) ;
266
266
267
267
const node7 = tree . insert ( 25 ) ;
268
268
@@ -277,13 +277,13 @@ describe('RedBlackTree', () => {
277
277
expect ( tree . toString ( ) ) . toBe ( '-20,-10,6,10,20,25,30' ) ;
278
278
expect ( tree . root . height ) . toBe ( 2 ) ;
279
279
280
- expect ( tree . isNodeBlack ( node1 ) ) . toBeTruthy ( ) ;
281
- expect ( tree . isNodeBlack ( node2 ) ) . toBeTruthy ( ) ;
282
- expect ( tree . isNodeBlack ( node7 ) ) . toBeTruthy ( ) ;
283
- expect ( tree . isNodeRed ( node4 ) ) . toBeTruthy ( ) ;
284
- expect ( tree . isNodeRed ( node5 ) ) . toBeTruthy ( ) ;
285
- expect ( tree . isNodeRed ( node3 ) ) . toBeTruthy ( ) ;
286
- expect ( tree . isNodeRed ( node6 ) ) . toBeTruthy ( ) ;
280
+ expect ( tree . isNodeBlack ( node1 ) ) . toBe ( true ) ;
281
+ expect ( tree . isNodeBlack ( node2 ) ) . toBe ( true ) ;
282
+ expect ( tree . isNodeBlack ( node7 ) ) . toBe ( true ) ;
283
+ expect ( tree . isNodeRed ( node4 ) ) . toBe ( true ) ;
284
+ expect ( tree . isNodeRed ( node5 ) ) . toBe ( true ) ;
285
+ expect ( tree . isNodeRed ( node3 ) ) . toBe ( true ) ;
286
+ expect ( tree . isNodeRed ( node6 ) ) . toBe ( true ) ;
287
287
} ) ;
288
288
289
289
it ( 'should do left-left rotation with left grand-parent' , ( ) => {
0 commit comments