Skip to content

Commit 61c7551

Browse files
committed
refactor: List 테스트 ParameterizedTest로 변경
1 parent d3e066d commit 61c7551

File tree

1 file changed

+125
-104
lines changed

1 file changed

+125
-104
lines changed

yoonexample/src/test/java/list/ListTest.java

Lines changed: 125 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
import org.junit.jupiter.api.DisplayName;
66
import org.junit.jupiter.api.Test;
7+
import org.junit.jupiter.params.ParameterizedTest;
8+
import org.junit.jupiter.params.provider.CsvSource;
79

810
class ListTest {
911

@@ -14,31 +16,35 @@ class ListTest {
1416
assertThat(list).isNotNull();
1517
}
1618

17-
@Test
18-
void 데이터_5개_저장() {
19+
@ParameterizedTest
20+
@CsvSource({"11,11,22,22,33"})
21+
void 데이터_5개_저장(int firstElem, int secondElem, int thirdElem, int fourthElem, int fifthElem) {
1922
List<Integer> list = new ArrayList<>();
20-
list.insert(11);
21-
list.insert(11);
22-
list.insert(22);
23-
list.insert(22);
24-
list.insert(33);
25-
26-
assertThat(list.size()).isEqualTo(5);
27-
assertThat(list.get(0)).isEqualTo(11);
28-
assertThat(list.get(1)).isEqualTo(11);
29-
assertThat(list.get(2)).isEqualTo(22);
30-
assertThat(list.get(3)).isEqualTo(22);
31-
assertThat(list.get(4)).isEqualTo(33);
23+
list.insert(firstElem);
24+
list.insert(secondElem);
25+
list.insert(thirdElem);
26+
list.insert(fourthElem);
27+
list.insert(fifthElem);
28+
29+
int expectedSize = 5;
30+
assertThat(list.size()).isEqualTo(expectedSize);
31+
assertThat(list.get(0)).isEqualTo(firstElem);
32+
assertThat(list.get(1)).isEqualTo(secondElem);
33+
assertThat(list.get(2)).isEqualTo(thirdElem);
34+
assertThat(list.get(3)).isEqualTo(fourthElem);
35+
assertThat(list.get(4)).isEqualTo(fifthElem);
3236
}
3337

34-
@Test
35-
void 데이터_5개_저장_후_22인_데이터_모두_삭제() {
38+
@ParameterizedTest
39+
@CsvSource({"11,11,22,22,33"})
40+
void 데이터_5개_저장_후_22인_데이터_모두_삭제(int firstElem, int secondElem, int thirdElem, int fourthElem,
41+
int fifthElem) {
3642
List<Integer> list = new ArrayList<>();
37-
list.insert(11);
38-
list.insert(11);
39-
list.insert(22);
40-
list.insert(22);
41-
list.insert(33);
43+
list.insert(firstElem);
44+
list.insert(secondElem);
45+
list.insert(thirdElem);
46+
list.insert(fourthElem);
47+
list.insert(fifthElem);
4248

4349
// Iterable을 구현하면 enhanced for loop를 사용할 수 있습니다.
4450
for (int i = 0; i < list.size(); i++) {
@@ -48,10 +54,11 @@ class ListTest {
4854
}
4955
}
5056

51-
assertThat(list.size()).isEqualTo(3);
52-
assertThat(list.get(0)).isEqualTo(11);
53-
assertThat(list.get(1)).isEqualTo(11);
54-
assertThat(list.get(2)).isEqualTo(33);
57+
int expectedSize = 3;
58+
assertThat(list.size()).isEqualTo(expectedSize);
59+
assertThat(list.get(0)).isEqualTo(firstElem);
60+
assertThat(list.get(1)).isEqualTo(secondElem);
61+
assertThat(list.get(2)).isEqualTo(fifthElem);
5562
}
5663

5764
@Test
@@ -61,32 +68,37 @@ class ListTest {
6168
assertThat(list).isNotNull();
6269
}
6370

64-
@Test
65-
void CircularLinkedList에_데이터_5개_저장() {
71+
@ParameterizedTest
72+
@CsvSource({"11,11,22,22,33"})
73+
void CircularLinkedList에_데이터_5개_저장(int firstElem, int secondElem, int thirdElem, int fourthElem,
74+
int fifthElem) {
6675
List<Integer> list = new CircularLinkedList<>();
67-
list.insert(11);
68-
list.insert(11);
69-
list.insert(22);
70-
list.insert(22);
71-
list.insert(33);
72-
73-
assertThat(list.size()).isEqualTo(5);
74-
assertThat(list.get(0)).isEqualTo(11);
75-
assertThat(list.get(1)).isEqualTo(11);
76-
assertThat(list.get(2)).isEqualTo(22);
77-
assertThat(list.get(3)).isEqualTo(22);
78-
assertThat(list.get(4)).isEqualTo(33);
79-
assertThat(list.get(5)).isEqualTo(11);
76+
list.insert(firstElem);
77+
list.insert(secondElem);
78+
list.insert(thirdElem);
79+
list.insert(fourthElem);
80+
list.insert(fifthElem);
81+
82+
int expectedSize = 5;
83+
assertThat(list.size()).isEqualTo(expectedSize);
84+
assertThat(list.get(0)).isEqualTo(firstElem);
85+
assertThat(list.get(1)).isEqualTo(secondElem);
86+
assertThat(list.get(2)).isEqualTo(thirdElem);
87+
assertThat(list.get(3)).isEqualTo(fourthElem);
88+
assertThat(list.get(4)).isEqualTo(fifthElem);
89+
assertThat(list.get(5)).isEqualTo(firstElem);
8090
}
8191

82-
@Test
83-
void CircularLinkedList에_데이터_5개_저장_후_22인_데이터_모두_삭제() {
92+
@ParameterizedTest
93+
@CsvSource({"11,11,22,22,33"})
94+
void CircularLinkedList에_데이터_5개_저장_후_22인_데이터_모두_삭제(int firstElem, int secondElem, int thirdElem,
95+
int fourthElem, int fifthElem) {
8496
List<Integer> list = new CircularLinkedList<>();
85-
list.insert(11);
86-
list.insert(11);
87-
list.insert(22);
88-
list.insert(22);
89-
list.insert(33);
97+
list.insert(firstElem);
98+
list.insert(secondElem);
99+
list.insert(thirdElem);
100+
list.insert(fourthElem);
101+
list.insert(fifthElem);
90102

91103
// Iterable을 구현하면 enhanced for loop를 사용할 수 있습니다.
92104
for (int i = 0; i < list.size(); i++) {
@@ -96,11 +108,12 @@ class ListTest {
96108
}
97109
}
98110

99-
assertThat(list.size()).isEqualTo(3);
100-
assertThat(list.get(0)).isEqualTo(11);
101-
assertThat(list.get(1)).isEqualTo(11);
102-
assertThat(list.get(2)).isEqualTo(33);
103-
assertThat(list.get(3)).isEqualTo(11);
111+
int expectedSize = 3;
112+
assertThat(list.size()).isEqualTo(expectedSize);
113+
assertThat(list.get(0)).isEqualTo(firstElem);
114+
assertThat(list.get(1)).isEqualTo(secondElem);
115+
assertThat(list.get(2)).isEqualTo(fifthElem);
116+
assertThat(list.get(3)).isEqualTo(firstElem);
104117
}
105118

106119
@Test
@@ -137,45 +150,49 @@ class ListTest {
137150
assertThat(list).isNotNull();
138151
}
139152

140-
@Test
153+
@ParameterizedTest
154+
@CsvSource({"11,22,33"})
141155
@DisplayName("DoublyLinkedList 데이터 3개 저장 테스트")
142-
void DoublyLinkedList_데이터_3개_저장_테스트() {
156+
void DoublyLinkedList_데이터_3개_저장_테스트(int firstElem, int secondElem, int thirdElem) {
143157
List<Integer> list = new DoublyLinkedList<>();
158+
list.insert(firstElem);
159+
list.insert(secondElem);
160+
list.insert(thirdElem);
144161

145-
list.insert(11);
146-
list.insert(22);
147-
list.insert(33);
148-
162+
int expectedSize = 3;
163+
int notContainsElem = 44;
149164
assertThat(list.isEmpty()).isFalse();
150-
assertThat(list.size()).isEqualTo(3);
151-
assertThat(list.contains(11)).isTrue();
152-
assertThat(list.contains(22)).isTrue();
153-
assertThat(list.contains(33)).isTrue();
154-
assertThat(list.contains(44)).isFalse();
155-
assertThat(list.get(0)).isEqualTo(33);
156-
assertThat(list.get(1)).isEqualTo(22);
157-
assertThat(list.get(2)).isEqualTo(11);
165+
assertThat(list.size()).isEqualTo(expectedSize);
166+
assertThat(list.contains(firstElem)).isTrue();
167+
assertThat(list.contains(secondElem)).isTrue();
168+
assertThat(list.contains(thirdElem)).isTrue();
169+
assertThat(list.contains(notContainsElem)).isFalse();
170+
assertThat(list.get(0)).isEqualTo(thirdElem);
171+
assertThat(list.get(1)).isEqualTo(secondElem);
172+
assertThat(list.get(2)).isEqualTo(firstElem);
158173
}
159174

160-
@Test
175+
@ParameterizedTest
176+
@CsvSource({"11,22,33"})
161177
@DisplayName("DoublyLinkedList 데이터 3개 저장 후 삭제 테스트")
162-
void DoublyLinkedList_데이터_3개_저장_후_삭제_테스트() {
178+
void DoublyLinkedList_데이터_3개_저장_후_삭제_테스트(int firstElem, int secondElem, int thirdElem) {
163179
List<Integer> list = new DoublyLinkedList<>();
164-
165-
list.insert(11);
166-
list.insert(22);
167-
list.insert(33);
180+
list.insert(firstElem);
181+
list.insert(secondElem);
182+
list.insert(thirdElem);
168183

169184
list.remove(2);
170185
list.remove(1);
171186

187+
int expectedSize = 1;
188+
int notContainsElem = 44;
172189
assertThat(list.isEmpty()).isFalse();
173-
assertThat(list.size()).isEqualTo(1);
174-
assertThat(list.contains(11)).isFalse();
175-
assertThat(list.contains(22)).isFalse();
176-
assertThat(list.contains(33)).isTrue();
177-
assertThat(list.contains(44)).isFalse();
178-
assertThat(list.get(0)).isEqualTo(33);
190+
assertThat(list.size()).isEqualTo(expectedSize);
191+
assertThat(list.contains(firstElem)).isFalse();
192+
assertThat(list.contains(secondElem)).isFalse();
193+
assertThat(list.contains(thirdElem)).isTrue();
194+
assertThat(list.contains(notContainsElem)).isFalse();
195+
assertThat(list.get(0)).isEqualTo(thirdElem);
179196
}
180197

181198
@Test
@@ -212,45 +229,49 @@ class ListTest {
212229
assertThat(list).isNotNull();
213230
}
214231

215-
@Test
232+
@ParameterizedTest
233+
@CsvSource({"11,22,33"})
216234
@DisplayName("DummyDoublyLinkedList 데이터 3개 저장 테스트")
217-
void DummyDoublyLinkedList_데이터_3개_저장_테스트() {
235+
void DummyDoublyLinkedList_데이터_3개_저장_테스트(int firstElem, int secondElem, int thirdElem) {
218236
List<Integer> list = new DummyDoublyLinkedList<>();
237+
list.insert(firstElem);
238+
list.insert(secondElem);
239+
list.insert(thirdElem);
219240

220-
list.insert(11);
221-
list.insert(22);
222-
list.insert(33);
223-
241+
int expectedSize = 3;
242+
int notContainsElem = 44;
224243
assertThat(list.isEmpty()).isFalse();
225-
assertThat(list.size()).isEqualTo(3);
226-
assertThat(list.contains(11)).isTrue();
227-
assertThat(list.contains(22)).isTrue();
228-
assertThat(list.contains(33)).isTrue();
229-
assertThat(list.contains(44)).isFalse();
230-
assertThat(list.get(0)).isEqualTo(11);
231-
assertThat(list.get(1)).isEqualTo(22);
232-
assertThat(list.get(2)).isEqualTo(33);
244+
assertThat(list.size()).isEqualTo(expectedSize);
245+
assertThat(list.contains(firstElem)).isTrue();
246+
assertThat(list.contains(secondElem)).isTrue();
247+
assertThat(list.contains(thirdElem)).isTrue();
248+
assertThat(list.contains(notContainsElem)).isFalse();
249+
assertThat(list.get(0)).isEqualTo(firstElem);
250+
assertThat(list.get(1)).isEqualTo(secondElem);
251+
assertThat(list.get(2)).isEqualTo(thirdElem);
233252
}
234253

235-
@Test
254+
@ParameterizedTest
255+
@CsvSource({"11,22,33"})
236256
@DisplayName("DummyDoublyLinkedList 데이터 3개 저장 후 삭제 테스트")
237-
void DummyDoublyLinkedList_데이터_3개_저장_후_삭제_테스트() {
257+
void DummyDoublyLinkedList_데이터_3개_저장_후_삭제_테스트(int firstElem, int secondElem, int thirdElem) {
238258
List<Integer> list = new DummyDoublyLinkedList<>();
239-
240-
list.insert(11);
241-
list.insert(22);
242-
list.insert(33);
259+
list.insert(firstElem);
260+
list.insert(secondElem);
261+
list.insert(thirdElem);
243262

244263
list.remove(2);
245264
list.remove(1);
246265

266+
int expectedSize = 1;
267+
int notContainsElem = 44;
247268
assertThat(list.isEmpty()).isFalse();
248-
assertThat(list.size()).isEqualTo(1);
249-
assertThat(list.contains(11)).isTrue();
250-
assertThat(list.contains(22)).isFalse();
251-
assertThat(list.contains(33)).isFalse();
252-
assertThat(list.contains(44)).isFalse();
253-
assertThat(list.get(0)).isEqualTo(11);
269+
assertThat(list.size()).isEqualTo(expectedSize);
270+
assertThat(list.contains(firstElem)).isTrue();
271+
assertThat(list.contains(secondElem)).isFalse();
272+
assertThat(list.contains(thirdElem)).isFalse();
273+
assertThat(list.contains(notContainsElem)).isFalse();
274+
assertThat(list.get(0)).isEqualTo(firstElem);
254275
}
255276

256277
@Test

0 commit comments

Comments
 (0)