Skip to content

Commit 2381324

Browse files
committed
Test partial inversed trees in day 24 challenge
1 parent 345e1b3 commit 2381324

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

src/day24/index.test.js

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,62 @@ describe('Day 24 challenge', () => {
3131
right: {value: 5, left: {value: 4, left: null, right: null}, right: null},
3232
}
3333

34+
const treeC = {
35+
value: 1,
36+
left: {
37+
value: 2,
38+
left: {value: 3, left: null, right: null},
39+
right: {value: 4, left: null, right: null},
40+
},
41+
right: {
42+
value: 5,
43+
left: {value: 6, left: null, right: null},
44+
right: {value: 7, left: null, right: null},
45+
},
46+
}
47+
48+
const treeCInverse = {
49+
value: 1,
50+
left: {
51+
value: 5,
52+
left: {value: 7, left: null, right: null},
53+
right: {value: 6, left: null, right: null},
54+
},
55+
right: {
56+
value: 2,
57+
left: {value: 4, left: null, right: null},
58+
right: {value: 3, left: null, right: null},
59+
},
60+
}
61+
62+
const treeCPartialInverseTopBranches = {
63+
value: 1,
64+
left: {
65+
value: 5,
66+
left: {value: 3, left: null, right: null},
67+
right: {value: 4, left: null, right: null},
68+
},
69+
right: {
70+
value: 2,
71+
left: {value: 6, left: null, right: null},
72+
right: {value: 7, left: null, right: null},
73+
},
74+
}
75+
76+
const treeCPartialInverseBottomBranches = {
77+
value: 1,
78+
left: {
79+
value: 2,
80+
left: {value: 3, left: null, right: null},
81+
right: {value: 4, left: null, right: null},
82+
},
83+
right: {
84+
value: 5,
85+
left: {value: 7, left: null, right: null},
86+
right: {value: 6, left: null, right: null},
87+
},
88+
}
89+
3490
test('returns true when comparing the same tree', () => {
3591
expect(checkIsSameTree(treeA, treeA)).toBeTruthy()
3692
})
@@ -50,4 +106,18 @@ describe('Day 24 challenge', () => {
50106
test('returns false when comparing a tree & its partial inverse version (only an inner branch)', () => {
51107
expect(checkIsSameTree(treeB, treeBPartialInverse)).toBeFalsy()
52108
})
109+
110+
test('returns true when comparing a balanced tree & its inverse version', () => {
111+
expect(checkIsSameTree(treeC, treeCInverse)).toBeTruthy()
112+
})
113+
114+
test('returns false when comparing a balanced tree & its partial inverse version (top branches)', () => {
115+
expect(checkIsSameTree(treeC, treeCPartialInverseTopBranches)).toBeFalsy()
116+
})
117+
118+
test('returns false when comparing a balanced tree & its partial inverse version (bottom branches)', () => {
119+
expect(
120+
checkIsSameTree(treeC, treeCPartialInverseBottomBranches)
121+
).toBeFalsy()
122+
})
53123
})

0 commit comments

Comments
 (0)