Skip to content

Commit dfc1c90

Browse files
committed
test: AVL 트리 테스트 추가
1 parent 8397436 commit dfc1c90

File tree

1 file changed

+102
-0
lines changed

1 file changed

+102
-0
lines changed

yoonexample/src/test/java/search/binarysearchtree/BinarySearchTreeNodeTest.java

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,4 +104,106 @@ class BinarySearchTreeNodeTest {
104104
assertThat(bstRoot.search(8).getData())
105105
.isEqualTo(bstRoot.remove(8).getData());
106106
}
107+
108+
@Test
109+
@DisplayName("AVL_트리_테스트")
110+
void AVL_트리_테스트() {
111+
BinarySearchTreeNode<Integer> bstRoot = new AVLTreeNode<>(1, (Comparator.comparingInt(o -> o)));
112+
BinaryTreeNode<Integer> searchNode;
113+
114+
bstRoot.insert(5);
115+
bstRoot.insert(6);
116+
bstRoot.insert(2);
117+
bstRoot.insert(8);
118+
bstRoot.insert(3);
119+
bstRoot.insert(9);
120+
121+
searchNode = bstRoot.search(1);
122+
assertThat(searchNode).isNotNull();
123+
assertThat(searchNode.getData()).isEqualTo(1);
124+
125+
searchNode = bstRoot.search(4);
126+
assertThat(searchNode).isNull();
127+
128+
searchNode = bstRoot.search(6);
129+
assertThat(searchNode).isNotNull();
130+
assertThat(searchNode.getData()).isEqualTo(6);
131+
132+
searchNode = bstRoot.search(7);
133+
assertThat(searchNode).isNull();
134+
135+
BinaryTreeNode<Integer> rootNode = bstRoot.search(5);
136+
BinaryTreeNode<Integer> rootNodeLeftSubTree = rootNode.getLeftSubTree();
137+
BinaryTreeNode<Integer> rootNodeRightSubTree = rootNode.getRightSubTree();
138+
139+
assertThat(rootNode.getData()).isEqualTo(5);
140+
assertThat(rootNodeLeftSubTree.getData()).isEqualTo(2);
141+
assertThat(rootNodeRightSubTree.getData()).isEqualTo(8);
142+
assertThat(rootNodeLeftSubTree.getLeftSubTree().getData()).isEqualTo(1);
143+
assertThat(rootNodeLeftSubTree.getRightSubTree().getData()).isEqualTo(3);
144+
assertThat(rootNodeRightSubTree.getLeftSubTree().getData()).isEqualTo(6);
145+
assertThat(rootNodeRightSubTree.getRightSubTree().getData()).isEqualTo(9);
146+
}
147+
148+
@Test
149+
@DisplayName("AVL_트리_제거_테스트")
150+
void AVL_트리_제거_테스트() {
151+
BinarySearchTreeNode<Integer> bstRoot = new AVLTreeNode<>(5, (Comparator.comparingInt(o -> o)));
152+
153+
bstRoot.insert(1);
154+
bstRoot.insert(2);
155+
bstRoot.insert(3);
156+
bstRoot.insert(7);
157+
bstRoot.insert(8);
158+
bstRoot.insert(9);
159+
160+
BinaryTreeNode<Integer> rootNode = bstRoot.search(2);
161+
BinaryTreeNode<Integer> rootNodeLeftSubTree = rootNode.getLeftSubTree();
162+
BinaryTreeNode<Integer> rootNodeRightSubTree = rootNode.getRightSubTree();
163+
BinaryTreeNode<Integer> rootNodeRightSubTreeLeftSubTree = rootNodeRightSubTree.getLeftSubTree();
164+
165+
assertThat(rootNode.getData()).isEqualTo(2);
166+
assertThat(rootNodeLeftSubTree.getData()).isEqualTo(1);
167+
assertThat(rootNodeRightSubTree.getData()).isEqualTo(8);
168+
assertThat(rootNodeRightSubTreeLeftSubTree.getData()).isEqualTo(5);
169+
assertThat(rootNodeRightSubTree.getRightSubTree().getData()).isEqualTo(9);
170+
assertThat(rootNodeRightSubTreeLeftSubTree.getLeftSubTree().getData()).isEqualTo(3);
171+
assertThat(rootNodeRightSubTreeLeftSubTree.getRightSubTree().getData()).isEqualTo(7);
172+
173+
assertThat(bstRoot.search(2).getData()).isEqualTo(bstRoot.remove(2).getData());
174+
assertThat(bstRoot.search(7).getData()).isEqualTo(bstRoot.remove(7).getData());
175+
assertThat(bstRoot.search(8).getData()).isEqualTo(bstRoot.remove(8).getData());
176+
assertThat(bstRoot.search(5).getData()).isEqualTo(bstRoot.remove(5).getData());
177+
}
178+
179+
@Test
180+
@DisplayName("AVL_트리_제거_테스트2")
181+
void AVL_트리_제거_테스트2() {
182+
BinarySearchTreeNode<Integer> bstRoot = new AVLTreeNode<>(1, (Comparator.comparingInt(o -> o)));
183+
184+
bstRoot.insert(3);
185+
bstRoot.insert(4);
186+
bstRoot.insert(5);
187+
bstRoot.insert(7);
188+
bstRoot.insert(8);
189+
bstRoot.insert(9);
190+
191+
BinaryTreeNode<Integer> rootNode = bstRoot.search(3);
192+
BinaryTreeNode<Integer> rootNodeLeftSubTree = rootNode.getLeftSubTree();
193+
BinaryTreeNode<Integer> rootNodeRightSubTree = rootNode.getRightSubTree();
194+
195+
assertThat(rootNode.getData()).isEqualTo(3);
196+
assertThat(rootNodeLeftSubTree.getData()).isEqualTo(1);
197+
assertThat(rootNodeRightSubTree.getData()).isEqualTo(7);
198+
assertThat(rootNodeRightSubTree.getLeftSubTree().getData()).isEqualTo(5);
199+
assertThat(rootNodeRightSubTree.getRightSubTree().getData()).isEqualTo(8);
200+
201+
assertThat(bstRoot.search(1).getData()).isEqualTo(bstRoot.remove(1).getData());
202+
assertThat(bstRoot.search(3).getData()).isEqualTo(bstRoot.remove(3).getData());
203+
assertThat(bstRoot.search(5).getData()).isEqualTo(bstRoot.remove(5).getData());
204+
assertThat(bstRoot.search(4).getData()).isEqualTo(bstRoot.remove(4).getData());
205+
assertThat(bstRoot.search(7).getData()).isEqualTo(bstRoot.remove(7).getData());
206+
assertThat(bstRoot.search(9).getData()).isEqualTo(bstRoot.remove(9).getData());
207+
assertThat(bstRoot.search(8).getData()).isEqualTo(bstRoot.remove(8).getData());
208+
}
107209
}

0 commit comments

Comments
 (0)