Skip to content

Commit 0f73d9c

Browse files
committed
test: Deque 테스트 코드 작성
1 parent 0c6615e commit 0f73d9c

File tree

1 file changed

+135
-0
lines changed

1 file changed

+135
-0
lines changed
Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
package deque;
2+
3+
import static org.assertj.core.api.Assertions.assertThat;
4+
import static org.assertj.core.api.Assertions.assertThatThrownBy;
5+
6+
import org.junit.jupiter.api.DisplayName;
7+
import org.junit.jupiter.api.Test;
8+
9+
class DequeTest {
10+
11+
@Test
12+
@DisplayName("덱의_생성_및_초기화_테스트")
13+
void 덱의_생성_및_초기화_테스트() {
14+
Deque<Integer> deque = new LinkedLIstDeque();
15+
16+
assertThat(deque).isNotNull();
17+
assertThat(deque.size()).isEqualTo(0);
18+
assertThat(deque.isEmpty()).isTrue();
19+
}
20+
21+
@Test
22+
@DisplayName("덱에_데이터_삽입_테스트")
23+
void 덱에_데이터_삽입_테스트() {
24+
Deque<Integer> deque = new LinkedLIstDeque();
25+
26+
deque.addFirst(3);
27+
deque.addFirst(2);
28+
deque.addFirst(1);
29+
deque.addLast(4);
30+
deque.addLast(5);
31+
deque.addLast(6);
32+
33+
assertThat(deque).isNotNull();
34+
assertThat(deque.size()).isEqualTo(6);
35+
assertThat(deque.isEmpty()).isFalse();
36+
}
37+
38+
@Test
39+
@DisplayName("덱에_데이터_삽입_앞에서_삭제_테스트")
40+
void 덱에_데이터_삽입_앞에서_삭제_테스트() {
41+
Deque<Integer> deque = new LinkedLIstDeque();
42+
43+
deque.addFirst(3);
44+
deque.addFirst(2);
45+
deque.addFirst(1);
46+
deque.addLast(4);
47+
deque.addLast(5);
48+
deque.addLast(6);
49+
50+
assertThat(deque).isNotNull();
51+
assertThat(deque.size()).isEqualTo(6);
52+
assertThat(deque.isEmpty()).isFalse();
53+
assertThat(deque.getFirst()).isEqualTo(1);
54+
assertThat(deque.getLast()).isEqualTo(6);
55+
assertThat(deque.removeFirst()).isEqualTo(1);
56+
assertThat(deque.size()).isEqualTo(5);
57+
assertThat(deque.getFirst()).isEqualTo(2);
58+
assertThat(deque.getLast()).isEqualTo(6);
59+
assertThat(deque.removeFirst()).isEqualTo(2);
60+
assertThat(deque.size()).isEqualTo(4);
61+
assertThat(deque.getFirst()).isEqualTo(3);
62+
assertThat(deque.getLast()).isEqualTo(6);
63+
assertThat(deque.removeFirst()).isEqualTo(3);
64+
assertThat(deque.size()).isEqualTo(3);
65+
assertThat(deque.getFirst()).isEqualTo(4);
66+
assertThat(deque.getLast()).isEqualTo(6);
67+
assertThat(deque.removeFirst()).isEqualTo(4);
68+
assertThat(deque.size()).isEqualTo(2);
69+
assertThat(deque.getFirst()).isEqualTo(5);
70+
assertThat(deque.getLast()).isEqualTo(6);
71+
assertThat(deque.removeFirst()).isEqualTo(5);
72+
assertThat(deque.size()).isEqualTo(1);
73+
assertThat(deque.getFirst()).isEqualTo(6);
74+
assertThat(deque.getLast()).isEqualTo(6);
75+
assertThat(deque.removeFirst()).isEqualTo(6);
76+
assertThat(deque.size()).isEqualTo(0);
77+
assertThat(deque.isEmpty()).isTrue();
78+
}
79+
80+
@Test
81+
@DisplayName("덱에_데이터_삽입_뒤에서_삭제_테스트")
82+
void 덱에_데이터_삽입_뒤에서_삭제_테스트() {
83+
Deque<Integer> deque = new LinkedLIstDeque();
84+
85+
deque.addFirst(3);
86+
deque.addFirst(2);
87+
deque.addFirst(1);
88+
deque.addLast(4);
89+
deque.addLast(5);
90+
deque.addLast(6);
91+
92+
assertThat(deque).isNotNull();
93+
assertThat(deque.size()).isEqualTo(6);
94+
assertThat(deque.isEmpty()).isFalse();
95+
assertThat(deque.getFirst()).isEqualTo(1);
96+
assertThat(deque.getLast()).isEqualTo(6);
97+
assertThat(deque.removeLast()).isEqualTo(6);
98+
assertThat(deque.size()).isEqualTo(5);
99+
assertThat(deque.getFirst()).isEqualTo(1);
100+
assertThat(deque.getLast()).isEqualTo(5);
101+
assertThat(deque.removeLast()).isEqualTo(5);
102+
assertThat(deque.size()).isEqualTo(4);
103+
assertThat(deque.getFirst()).isEqualTo(1);
104+
assertThat(deque.getLast()).isEqualTo(4);
105+
assertThat(deque.removeLast()).isEqualTo(4);
106+
assertThat(deque.size()).isEqualTo(3);
107+
assertThat(deque.getFirst()).isEqualTo(1);
108+
assertThat(deque.getLast()).isEqualTo(3);
109+
assertThat(deque.removeLast()).isEqualTo(3);
110+
assertThat(deque.size()).isEqualTo(2);
111+
assertThat(deque.getFirst()).isEqualTo(1);
112+
assertThat(deque.getLast()).isEqualTo(2);
113+
assertThat(deque.removeLast()).isEqualTo(2);
114+
assertThat(deque.size()).isEqualTo(1);
115+
assertThat(deque.getFirst()).isEqualTo(1);
116+
assertThat(deque.getLast()).isEqualTo(1);
117+
assertThat(deque.removeLast()).isEqualTo(1);
118+
assertThat(deque.size()).isEqualTo(0);
119+
assertThat(deque.isEmpty()).isTrue();
120+
}
121+
122+
@Test
123+
@DisplayName("덱이_비어있을_때_예외_처리_테스트")
124+
void 덱이_비어있을_때_예외_처리_테스트() {
125+
Deque<Integer> deque = new LinkedLIstDeque();
126+
127+
assertThat(deque).isNotNull();
128+
assertThat(deque.size()).isEqualTo(0);
129+
assertThat(deque.isEmpty()).isTrue();
130+
assertThatThrownBy(deque::getFirst).isInstanceOf(EmptyDequeException.class);
131+
assertThatThrownBy(deque::removeFirst).isInstanceOf(EmptyDequeException.class);
132+
assertThatThrownBy(deque::getLast).isInstanceOf(EmptyDequeException.class);
133+
assertThatThrownBy(deque::removeLast).isInstanceOf(EmptyDequeException.class);
134+
}
135+
}

0 commit comments

Comments
 (0)