Skip to content

Commit 9dec394

Browse files
committed
refactor: 예외 테스트 코드 작성
1 parent 1259231 commit 9dec394

File tree

3 files changed

+13
-30
lines changed

3 files changed

+13
-30
lines changed

src/test/java/org/programmers/java/OperatorTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.programmers.java;
22

3-
import org.junit.jupiter.api.Assertions;
43
import org.junit.jupiter.api.DisplayName;
54
import org.junit.jupiter.api.Test;
65
import org.programmers.java.calculation.Operator;

src/test/java/org/programmers/java/RepositoryTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ private String formattingFormula(String inputFormula, String result){
5656
StringBuilder stringBuilder = new StringBuilder();
5757
return stringBuilder
5858
.append(inputFormula)
59-
.append("=")
59+
.append(" = ")
6060
.append(result)
6161
.toString();
6262
}

src/test/java/org/programmers/java/ValidaionTest.java

Lines changed: 12 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,52 +4,36 @@
44
import org.junit.jupiter.params.ParameterizedTest;
55
import org.junit.jupiter.params.provider.Arguments;
66
import org.junit.jupiter.params.provider.MethodSource;
7+
import org.junit.jupiter.params.provider.ValueSource;
8+
import org.programmers.java.validator.Validator;
79

810
import java.util.Arrays;
911
import java.util.List;
1012
import java.util.stream.Stream;
1113

12-
import static org.junit.jupiter.api.Assertions.assertEquals;
14+
import static org.junit.jupiter.api.Assertions.assertThrows;
1315

1416
public class ValidaionTest {
15-
FormulaSplitValidator formulaSplitValidator = new FormulaSplitValidator();
16-
FormulaCountValidator formulaCountValidator = new FormulaCountValidator();
1717

1818
@ParameterizedTest
19-
@DisplayName("연산식 검증: 연산식 분해 검증")
20-
@MethodSource("makeFormulaAndList")
21-
void formulaSplitValidation(String input, List<String> formula){
22-
// when
23-
List<String> formulaList = formulaSplitValidator.validate(input);
24-
25-
// then
26-
assertEquals(formula, formulaList);
27-
}
28-
29-
static Stream<Arguments> makeFormulaAndList(){
30-
return Stream.of(
31-
Arguments.of("10 + 4 / 20 * 3 - 2", Arrays.asList("10", "+", "4", "/", "20", "*", "3", "-", "2")),
32-
Arguments.of("5 - 2 * 20 + 3 / 2", Arrays.asList("5","-","2","*","20","+","3","/","2")),
33-
Arguments.of("7 * 2 - 3 / 3 + 2", Arrays.asList("7","*","2","-","3","/","3","+","2"))
34-
);
19+
@DisplayName("연산자 혹은 피연산자가 아닌 것이 들어오면 예외가 발생한다.")
20+
@ValueSource(strings = {"10 + 4 / 20 * 3 - ㄱ", "# + 3 - 11", "****"})
21+
void formulaSplitValidation(String input){
22+
assertThrows(IllegalArgumentException.class, () -> Validator.formulaSplitValidate(input));
3523
}
3624

3725
@ParameterizedTest
38-
@DisplayName("연산식 검증: 연산자와 피연산자의 전체 개수 검증 및 위치 검증")
26+
@DisplayName("연산자와 피연산자 수, 리스트 전체 개수, 위치가 맞지 않으면 예외가 발상핸다.")
3927
@MethodSource("makeFormulaList")
4028
void checkFormulaValidation(List<String> formulaList){
41-
// when
42-
Boolean checkedFormulaValidation = formulaCountValidator.validate(formulaList);
43-
44-
// then
45-
assertEquals(checkedFormulaValidation, true);
29+
assertThrows(IllegalArgumentException.class, () -> Validator.formulaCountValidate(formulaList));
4630
}
4731

4832
static Stream<Arguments> makeFormulaList(){
4933
return Stream.of(
50-
Arguments.of(Arrays.asList("10", "+", "4", "/", "20", "*", "3", "-", "2")),
51-
Arguments.of(Arrays.asList("5","-","2","*","20","+","3","/","2")),
52-
Arguments.of(Arrays.asList("7","*","2","-","3","/","3","+","2"))
34+
Arguments.of(Arrays.asList("10", "+", "4", "/", "20", "*", "3", "-")),
35+
Arguments.of(Arrays.asList("5","2","*","20","+","3","/","2")),
36+
Arguments.of(Arrays.asList("7","*","2","-","3","/","3","+"))
5337
);
5438
}
5539
}

0 commit comments

Comments
 (0)