-
Notifications
You must be signed in to change notification settings - Fork 901
Expand file tree
/
Copy pathBaseballServiceImpl.java
More file actions
44 lines (34 loc) · 1.33 KB
/
BaseballServiceImpl.java
File metadata and controls
44 lines (34 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package baseball.model.service;
import baseball.model.dto.BaseballGameResultDto;
import baseball.model.entity.AnswerNumber;
import baseball.model.validator.InputValidator;
public class BaseballServiceImpl implements BaseballService {
private final InputValidator inputValidator;
private final AnswerNumber answerNumber;
public BaseballServiceImpl(InputValidator inputValidator, AnswerNumber answerNumber) {
this.inputValidator = inputValidator;
this.answerNumber = answerNumber;
}
@Override
public void validateInputValue(String input) {
inputValidator.validateDistinctInput(input);
inputValidator.validateThreeInput(input);
inputValidator.validateNaturalNumbers(input);
}
@Override
public BaseballGameResultDto getGameResult(String input) {
Integer strikes = answerNumber.countStrikes(input);
Integer balls = answerNumber.countBalls(input);
Boolean nothing = answerNumber.isNothing(input);
Boolean complete = answerNumber.isComplete(input);
return new BaseballGameResultDto(strikes, balls, nothing, complete);
}
@Override
public void resetAnswerNumber() {
answerNumber.resetAnswerNumber();
}
@Override
public void validateRetryInput(String input) {
inputValidator.validateOneOrTwo(input);
}
}