@@ -20,14 +20,16 @@ describe('BinarySearchTreeNode', () => {
20
20
21
21
it ( 'should insert nodes in correct order' , ( ) => {
22
22
const bstNode = new BinarySearchTreeNode ( 2 ) ;
23
- bstNode . insert ( 1 ) ;
23
+ const insertedNode1 = bstNode . insert ( 1 ) ;
24
24
25
+ expect ( insertedNode1 . value ) . toBe ( 1 ) ;
25
26
expect ( bstNode . toString ( ) ) . toBe ( '1,2' ) ;
26
27
expect ( bstNode . contains ( 1 ) ) . toBeTruthy ( ) ;
27
28
expect ( bstNode . contains ( 3 ) ) . toBeFalsy ( ) ;
28
29
29
- bstNode . insert ( 3 ) ;
30
+ const insertedNode2 = bstNode . insert ( 3 ) ;
30
31
32
+ expect ( insertedNode2 . value ) . toBe ( 3 ) ;
31
33
expect ( bstNode . toString ( ) ) . toBe ( '1,2,3' ) ;
32
34
expect ( bstNode . contains ( 3 ) ) . toBeTruthy ( ) ;
33
35
expect ( bstNode . contains ( 4 ) ) . toBeFalsy ( ) ;
@@ -80,20 +82,24 @@ describe('BinarySearchTreeNode', () => {
80
82
} ) ;
81
83
82
84
it ( 'should be possible to attach meta information to binary search tree nodes' , ( ) => {
83
- const node = new BinarySearchTreeNode ( 10 , { value : 10 } ) ;
85
+ const node = new BinarySearchTreeNode ( 10 ) ;
86
+
87
+ node . insert ( 20 ) ;
88
+ const node1 = node . insert ( 30 ) ;
89
+ node . insert ( 5 ) ;
90
+ node . insert ( 40 ) ;
91
+ const node2 = node . insert ( 1 ) ;
84
92
85
- node . insert ( 20 , { value : 20 } ) ;
86
- node . insert ( 30 , { value : 30 } ) ;
87
- node . insert ( 5 , { value : 5 } ) ;
88
- node . insert ( 40 , { value : 40 } ) ;
89
- node . insert ( 1 , { value : 1 } ) ;
93
+ node . meta . set ( 'color' , 'red' ) ;
94
+ node1 . meta . set ( 'color' , 'black' ) ;
95
+ node2 . meta . set ( 'color' , 'white' ) ;
90
96
91
- expect ( node . meta . value ) . toBe ( 10 ) ;
97
+ expect ( node . meta . get ( 'color' ) ) . toBe ( 'red' ) ;
92
98
93
99
expect ( node . findMin ( ) ) . not . toBeNull ( ) ;
94
100
expect ( node . findMin ( ) . value ) . toBe ( 1 ) ;
95
- expect ( node . findMin ( ) . meta . value ) . toBe ( 1 ) ;
96
- expect ( node . find ( 30 ) . meta . value ) . toBe ( 30 ) ;
101
+ expect ( node . findMin ( ) . meta . get ( 'color' ) ) . toBe ( 'white' ) ;
102
+ expect ( node . find ( 30 ) . meta . get ( 'color' ) ) . toBe ( 'black' ) ;
97
103
} ) ;
98
104
99
105
it ( 'should find node' , ( ) => {
@@ -205,7 +211,7 @@ describe('BinarySearchTreeNode', () => {
205
211
const obj2 = { key : 'obj2' , value : 2 , toString : ( ) => 'obj2' } ;
206
212
const obj3 = { key : 'obj3' , value : 3 , toString : ( ) => 'obj3' } ;
207
213
208
- const bstNode = new BinarySearchTreeNode ( obj2 , null , nodeValueComparatorCallback ) ;
214
+ const bstNode = new BinarySearchTreeNode ( obj2 , nodeValueComparatorCallback ) ;
209
215
bstNode . insert ( obj1 ) ;
210
216
211
217
expect ( bstNode . toString ( ) ) . toBe ( 'obj1,obj2' ) ;
0 commit comments