@@ -49,4 +49,93 @@ describe('Satellite', () => {
4949 treeFromTraversals ( preorder , inorder ) ;
5050 } ) . toThrow ( new Error ( 'traversals must contain unique items' ) ) ;
5151 } ) ;
52+
53+ xtest ( 'A degenerate binary tree' , ( ) => {
54+ const preorder = [ 'a' , 'b' , 'c' , 'd' ] ;
55+ const inorder = [ 'd' , 'c' , 'b' , 'a' ] ;
56+ const expected = {
57+ value : 'a' ,
58+ left : {
59+ value : 'b' ,
60+ left : {
61+ value : 'c' ,
62+ left : {
63+ value : 'd' ,
64+ left : { } ,
65+ right : { } ,
66+ } ,
67+ right : { } ,
68+ } ,
69+ right : { } ,
70+ } ,
71+ right : { } ,
72+ } ;
73+ expect ( treeFromTraversals ( preorder , inorder ) ) . toEqual ( expected ) ;
74+ } ) ;
75+
76+ xtest ( 'Another degenerate binary tree' , ( ) => {
77+ const preorder = [ 'a' , 'b' , 'c' , 'd' ] ;
78+ const inorder = [ 'a' , 'b' , 'c' , 'd' ] ;
79+ const expected = {
80+ value : 'a' ,
81+ left : { } ,
82+ right : {
83+ value : 'b' ,
84+ left : { } ,
85+ right : {
86+ value : 'c' ,
87+ left : { } ,
88+ right : {
89+ value : 'd' ,
90+ left : { } ,
91+ right : { } ,
92+ } ,
93+ } ,
94+ } ,
95+ } ;
96+ expect ( treeFromTraversals ( preorder , inorder ) ) . toEqual ( expected ) ;
97+ } ) ;
98+
99+ xtest ( 'Tree with many more items' , ( ) => {
100+ const preorder = [ 'a' , 'b' , 'd' , 'g' , 'h' , 'c' , 'e' , 'f' , 'i' ] ;
101+ const inorder = [ 'g' , 'd' , 'h' , 'b' , 'a' , 'e' , 'c' , 'i' , 'f' ] ;
102+ const expected = {
103+ value : 'a' ,
104+ left : {
105+ value : 'b' ,
106+ left : {
107+ value : 'd' ,
108+ left : {
109+ value : 'g' ,
110+ left : { } ,
111+ right : { } ,
112+ } ,
113+ right : {
114+ value : 'h' ,
115+ left : { } ,
116+ right : { } ,
117+ } ,
118+ } ,
119+ right : { } ,
120+ } ,
121+ right : {
122+ value : 'c' ,
123+ left : {
124+ value : 'e' ,
125+ left : { } ,
126+ right : { } ,
127+ } ,
128+ right : {
129+ value : 'f' ,
130+ left : {
131+ value : 'i' ,
132+ left : { } ,
133+ right : { } ,
134+ } ,
135+ right : { } ,
136+ } ,
137+ } ,
138+ } ;
139+ expect ( treeFromTraversals ( preorder , inorder ) ) . toEqual ( expected ) ;
140+ } ) ;
52141} ) ;
0 commit comments