22
33import clap .server .domain .model .task .Task ;
44import clap .server .exception .DomainException ;
5- import org .junit .jupiter .api .BeforeEach ;
65import org .junit .jupiter .api .DisplayName ;
76import org .junit .jupiter .api .Test ;
87import org .junit .jupiter .api .extension .ExtendWith ;
1211
1312import static org .junit .jupiter .api .Assertions .assertEquals ;
1413import 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 )
1817class 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