2
2
3
3
import static org .assertj .core .api .Assertions .assertThat ;
4
4
5
+ import org .junit .jupiter .api .BeforeEach ;
5
6
import org .junit .jupiter .api .DisplayName ;
6
7
import org .junit .jupiter .api .Test ;
7
8
8
9
class BinaryTreeNodeTest {
9
10
11
+ private BinaryTreeNode <Integer > bt1 ;
12
+ private BinaryTreeNode <Integer > bt2 ;
13
+ private BinaryTreeNode <Integer > bt3 ;
14
+ private BinaryTreeNode <Integer > bt4 ;
15
+ private BinaryTreeNode <Integer > bt5 ;
16
+
17
+ @ BeforeEach
18
+ void setUp () {
19
+ bt1 = new LinkedBinaryTreeNode <>(1 );
20
+ bt2 = new LinkedBinaryTreeNode <>(2 );
21
+ bt3 = new LinkedBinaryTreeNode <>(3 );
22
+ bt4 = new LinkedBinaryTreeNode <>(4 );
23
+ bt5 = new LinkedBinaryTreeNode <>(5 );
24
+
25
+ bt1 .setLeftSubTree (bt2 );
26
+ bt1 .setRightSubTree (bt3 );
27
+ bt2 .setLeftSubTree (bt4 );
28
+ }
29
+
10
30
@ Test
11
31
@ DisplayName ("이진_트리_생성_및_초기화_테스트" )
12
32
void 이진_트리_생성_및_초기화_테스트 () {
13
- BinaryTreeNode <Integer > bt = new LinkedBinaryTreeNode <>(1 );
14
-
15
- assertThat (bt ).isNotNull ();
16
- assertThat (bt .getData ()).isEqualTo (1 );
17
- assertThat (bt .getLeftSubTree ()).isNull ();
18
- assertThat (bt .getRightSubTree ()).isNull ();
33
+ assertThat (bt5 ).isNotNull ();
34
+ assertThat (bt5 .getData ()).isEqualTo (5 );
35
+ assertThat (bt5 .getLeftSubTree ()).isNull ();
36
+ assertThat (bt5 .getRightSubTree ()).isNull ();
19
37
}
20
38
21
39
@ Test
22
40
@ DisplayName ("이진_트리_저장_및_출력_테스트" )
23
41
void 이진_트리_저장_및_출력_테스트 () {
24
- BinaryTreeNode <Integer > bt1 = new LinkedBinaryTreeNode <>(1 );
25
- BinaryTreeNode <Integer > bt2 = new LinkedBinaryTreeNode <>(2 );
26
- BinaryTreeNode <Integer > bt3 = new LinkedBinaryTreeNode <>(3 );
27
- BinaryTreeNode <Integer > bt4 = new LinkedBinaryTreeNode <>(4 );
28
-
29
- bt1 .setLeftSubTree (bt2 );
30
- bt1 .setRightSubTree (bt3 );
31
- bt2 .setLeftSubTree (bt4 );
32
-
33
42
assertThat (bt1 ).isNotNull ();
34
43
assertThat (bt2 ).isNotNull ();
35
44
assertThat (bt3 ).isNotNull ();
@@ -43,4 +52,26 @@ class BinaryTreeNodeTest {
43
52
assertThat (bt1 .getLeftSubTree ().getLeftSubTree ().getData ()).isEqualTo (4 );
44
53
assertThat (bt1 .getLeftSubTree ().getRightSubTree ()).isNull ();
45
54
}
55
+
56
+ @ Test
57
+ @ DisplayName ("이진_트리_제거_테스트" )
58
+ void 이진_트리_제거_테스트 () {
59
+ assertThat (bt1 .removeLeftSubTree ()).isSameAs (bt2 );
60
+ assertThat (bt1 .removeRightSubTree ()).isSameAs (bt3 );
61
+ assertThat (bt1 .getLeftSubTree ()).isNull ();
62
+ assertThat (bt1 .getRightSubTree ()).isNull ();
63
+ }
64
+
65
+ @ Test
66
+ @ DisplayName ("이진_트리_대체_테스트" )
67
+ void 이진_트리_대체_테스트 () {
68
+ assertThat (bt1 .getLeftSubTree ()).isSameAs (bt2 );
69
+ assertThat (bt1 .getRightSubTree ()).isSameAs (bt3 );
70
+
71
+ bt1 .changeLeftSubTree (bt3 );
72
+ assertThat (bt1 .getLeftSubTree ()).isSameAs (bt3 );
73
+
74
+ bt1 .changeRightSubTree (bt2 );
75
+ assertThat (bt1 .getRightSubTree ()).isSameAs (bt2 );
76
+ }
46
77
}
0 commit comments