Skip to content

Commit 12edc3e

Browse files
authored
Merge pull request #577 from TaskFlow-CLAP/CLAP-439
CLAP-439 정책 테스트 코드를 AAA 패턴으로 개선
2 parents 64c11e3 + a9b227f commit 12edc3e

File tree

1 file changed

+48
-13
lines changed

1 file changed

+48
-13
lines changed

src/test/java/clap/server/domain/policy/task/TaskOrderCalculationPolicyTest.java

Lines changed: 48 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import clap.server.domain.model.task.Task;
44
import clap.server.exception.DomainException;
5-
import org.junit.jupiter.api.BeforeEach;
65
import org.junit.jupiter.api.DisplayName;
76
import org.junit.jupiter.api.Test;
87
import org.junit.jupiter.api.extension.ExtendWith;
@@ -12,7 +11,7 @@
1211

1312
import static org.junit.jupiter.api.Assertions.assertEquals;
1413
import static org.junit.jupiter.api.Assertions.assertThrows;
15-
import static org.mockito.Mockito.lenient;
14+
import static org.mockito.Mockito.when;
1615

1716
@ExtendWith(MockitoExtension.class)
1817
class TaskOrderCalculationPolicyTest {
@@ -28,65 +27,101 @@ class TaskOrderCalculationPolicyTest {
2827
@Mock
2928
private Task nextTask;
3029

31-
@BeforeEach
32-
void setUp() {
33-
lenient().when(prevTask.getProcessorOrder()).thenReturn(1000L);
34-
lenient().when(nextTask.getProcessorOrder()).thenReturn(3000L);
35-
}
36-
3730
@Test
3831
@DisplayName("맨 위에 새로운 Task 추가 - 이전 Task가 없는 경우")
3932
void calculateOrderForTop_WhenPrevTaskIsNull() {
33+
// Arrange (준비)
34+
when(nextTask.getProcessorOrder()).thenReturn(3000L);
35+
36+
// Act (실행)
4037
long order = policy.calculateOrderForTop(null, nextTask);
38+
39+
// Assert (검증)
4140
assertEquals(3000L - DEFAULT_PROCESSOR_ORDER_GAP, order);
4241
}
4342

4443
@Test
4544
@DisplayName("맨 위에 새로운 Task 추가 - 이전 Task가 존재하는 경우")
4645
void calculateOrderForTop_WhenPrevTaskExists() {
46+
// Arrange
47+
when(prevTask.getProcessorOrder()).thenReturn(1000L);
48+
when(nextTask.getProcessorOrder()).thenReturn(3000L);
49+
50+
// Act
4751
long order = policy.calculateOrderForTop(prevTask, nextTask);
52+
53+
// Assert
4854
assertEquals(2000L, order);
4955
}
5056

5157
@Test
5258
@DisplayName("맨 아래에 새로운 Task 추가 - 다음 Task가 없는 경우")
5359
void calculateOrderForBottom_WhenNextTaskIsNull() {
60+
// Arrange
61+
when(prevTask.getProcessorOrder()).thenReturn(1000L);
62+
63+
// Act
5464
long order = policy.calculateOrderForBottom(prevTask, null);
65+
66+
// Assert
5567
assertEquals(1000L + DEFAULT_PROCESSOR_ORDER_GAP, order);
5668
}
5769

5870
@Test
5971
@DisplayName("맨 아래에 새로운 Task 추가 - 다음 Task가 존재하는 경우")
6072
void calculateOrderForBottom_WhenNextTaskExists() {
73+
// Arrange
74+
when(prevTask.getProcessorOrder()).thenReturn(1000L);
75+
when(nextTask.getProcessorOrder()).thenReturn(3000L);
76+
77+
// Act
6178
long order = policy.calculateOrderForBottom(prevTask, nextTask);
79+
80+
// Assert
6281
assertEquals(2000L, order);
6382
}
6483

6584
@Test
6685
@DisplayName("새로운 순서를 계산 - 유효한 범위 내에서 계산")
6786
void calculateNewProcessorOrder_WhenValid() {
68-
long order = policy.calculateNewProcessorOrder(1000L, 3000L);
87+
// Arrange
88+
long prevOrder = 1000L;
89+
long nextOrder = 3000L;
90+
91+
// Act
92+
long order = policy.calculateNewProcessorOrder(prevOrder, nextOrder);
93+
94+
// Assert
6995
assertEquals(2000L, order);
7096
}
7197

7298
@Test
7399
@DisplayName("새로운 순서를 계산 - 간격이 너무 좁을 경우 예외 발생")
74100
void calculateNewProcessorOrder_WhenOrderGapIsTooSmall() {
75-
assertThrows(DomainException.class, () ->
76-
policy.calculateNewProcessorOrder(1000L, 1001L));
101+
// Arrange
102+
long prevOrder = 1000L;
103+
long nextOrder = 1001L;
104+
105+
// Act & Assert
106+
assertThrows(DomainException.class, () -> policy.calculateNewProcessorOrder(prevOrder, nextOrder));
77107
}
78108

79109
@Test
80110
@DisplayName("새로운 순서를 계산 - prevTaskOrder 또는 nextTaskOrder가 null일 경우 기본값 반환")
81111
void calculateNewProcessorOrder_WhenNullValues() {
82-
long order1 = policy.calculateNewProcessorOrder(null, 3000L);
112+
// Arrange
113+
Long prevOrder = null;
114+
Long nextOrder = 3000L;
115+
116+
// Act
117+
long order1 = policy.calculateNewProcessorOrder(prevOrder, nextOrder);
83118
long order2 = policy.calculateNewProcessorOrder(1000L, null);
84119

120+
// Assert
85121
assertEquals(DEFAULT_PROCESSOR_ORDER_GAP, order1);
86122
assertEquals(DEFAULT_PROCESSOR_ORDER_GAP, order2);
87123
}
88124
}
89125

90126

91127

92-

0 commit comments

Comments
 (0)