Skip to content

Commit cf8c663

Browse files
committed
test: List 기반 Stack 테스트 코드 작성
1 parent 88e407f commit cf8c663

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

yoonexample/src/test/java/stack/StackTest.java

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,4 +74,70 @@ class StackTest {
7474
assertThat(stack.isEmpty()).isTrue();
7575
assertThat(stack.size()).isEqualTo(0);
7676
}
77+
78+
@Test
79+
@DisplayName("List Stack의 생성 및 초기화")
80+
void listStack의_생성_및_초기화() {
81+
Stack<Integer> stack = new ListStack<>();
82+
83+
assertThat(stack).isNotNull();
84+
assertThat(stack.isEmpty()).isTrue();
85+
assertThat(stack.size()).isEqualTo(0);
86+
}
87+
88+
@Test
89+
@DisplayName("List Stack의 EmptyStackException 테스트")
90+
void listStack의_EmptyStackException_테스트() {
91+
Stack<Integer> stack = new ListStack<>();
92+
93+
assertThat(stack).isNotNull();
94+
assertThat(stack.isEmpty()).isTrue();
95+
assertThat(stack.size()).isEqualTo(0);
96+
assertThatThrownBy(stack::pop).isInstanceOf(EmptyStackException.class);
97+
assertThatThrownBy(stack::peek).isInstanceOf(EmptyStackException.class);
98+
}
99+
100+
@Test
101+
@DisplayName("List Stack에 데이터 5개 넣기")
102+
void listStack에_데이터_5개_넣기() {
103+
Stack<Integer> stack = new ListStack<>();
104+
105+
stack.push(1);
106+
stack.push(2);
107+
stack.push(3);
108+
stack.push(4);
109+
stack.push(5);
110+
111+
assertThat(stack).isNotNull();
112+
assertThat(stack.isEmpty()).isFalse();
113+
assertThat(stack.size()).isEqualTo(5);
114+
}
115+
116+
@Test
117+
@DisplayName("List Stack에 데이터 5개 넣고 뺴기")
118+
void listStack에_데이터_5개_넣고_빼기() {
119+
Stack<Integer> stack = new ListStack<>();
120+
121+
stack.push(1);
122+
stack.push(2);
123+
stack.push(3);
124+
stack.push(4);
125+
stack.push(5);
126+
127+
assertThat(stack).isNotNull();
128+
assertThat(stack.isEmpty()).isFalse();
129+
assertThat(stack.size()).isEqualTo(5);
130+
assertThat(stack.peek()).isEqualTo(5);
131+
assertThat(stack.pop()).isEqualTo(5);
132+
assertThat(stack.peek()).isEqualTo(4);
133+
assertThat(stack.pop()).isEqualTo(4);
134+
assertThat(stack.peek()).isEqualTo(3);
135+
assertThat(stack.pop()).isEqualTo(3);
136+
assertThat(stack.peek()).isEqualTo(2);
137+
assertThat(stack.pop()).isEqualTo(2);
138+
assertThat(stack.peek()).isEqualTo(1);
139+
assertThat(stack.pop()).isEqualTo(1);
140+
assertThat(stack.isEmpty()).isTrue();
141+
assertThat(stack.size()).isEqualTo(0);
142+
}
77143
}

0 commit comments

Comments
 (0)