@@ -104,4 +104,106 @@ class BinarySearchTreeNodeTest {
104
104
assertThat (bstRoot .search (8 ).getData ())
105
105
.isEqualTo (bstRoot .remove (8 ).getData ());
106
106
}
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
+ }
107
209
}
0 commit comments