@@ -2,9 +2,12 @@ const BinarySearchTree = require('./index');
2
2
3
3
describe ( 'Binary Search Tree' , ( ) => {
4
4
let bst ;
5
- let rootsLeftChild , rootsRightChild ;
6
- let rootsLeftChildsLeftChild , rootsLeftChildsRightChild ;
7
- let rootsRightChildsLeftChild , rootsRightChildsRightChild ;
5
+ let rootsLeftChild ;
6
+ let rootsRightChild ;
7
+ let rootsLeftChildsLeftChild ;
8
+ let rootsLeftChildsRightChild ;
9
+ let rootsRightChildsLeftChild ;
10
+ let rootsRightChildsRightChild ;
8
11
9
12
describe ( 'Creates a binary search tree' , ( ) => {
10
13
it ( 'should create a bst with root 100' , ( ) => {
@@ -48,4 +51,18 @@ describe('Binary Search Tree', () => {
48
51
expect ( rootsRightChildsRightChild . value ) . toEqual ( 600 ) ;
49
52
} ) ;
50
53
} ) ;
54
+
55
+ describe ( 'Check insertion was as expected' , ( ) => {
56
+ it ( 'Inorder traversal of the created bst should be [ 10, 20, 30, 100, 400, 500, 600 ]' , ( ) => {
57
+ expect ( bst . traverseInorder ( ) ) . toEqual ( [ 10 , 20 , 30 , 100 , 400 , 500 , 600 ] ) ;
58
+ } ) ;
59
+
60
+ it ( 'Preorder traversal of the created bst should be [ 100, 20, 10, 30, 500, 400, 600 ]' , ( ) => {
61
+ expect ( bst . traversePreorder ( ) ) . toEqual ( [ 100 , 20 , 10 , 30 , 500 , 400 , 600 ] ) ;
62
+ } ) ;
63
+
64
+ it ( 'Postorder traversal of the created bst should be [ 10, 30, 20, 400, 600, 500, 100 ]' , ( ) => {
65
+ expect ( bst . traversePostorder ( ) ) . toEqual ( [ 10 , 30 , 20 , 400 , 600 , 500 , 100 ] ) ;
66
+ } ) ;
67
+ } ) ;
51
68
} ) ;
0 commit comments