우아한테크코스 6기 백엔드 프리코스 - 로또

테스트 목록

앞으로 통과해야 할 테스트 목록

m3t01 - 발행한 로또의 번호와 당첨번호 비교해서 일치하는 숫자의 개수를 반환할 수 있어야 한다
m3t02 - 보너스 숫자가 반영된 당첨된 금액 계산
m3t03 - 구입 금액에 맞는 개수의 로또를 발행할 수 있어야 한다
m3t04 - 일치한 개수에 대한 수익률을 계산할 수 있어야 한다
m3t05 - 1000으로 나누어 떨어지지 않는 구입금액 대해 예외 발생
m3t06 - 당첨번호는 1부터 45까지의 중복을 허용하지 않는 6개의 숫자로만 구성된다
m3t07 - 보너스 번호는 1부터 45까지의 숫자 중 당첨번호에 없는 숫자여야 한다
m3t08 - 정수로 변환되지 않는 입력에 대해 예외를 던져야 한다

m3t08

IO 계층의 기능을 테스트한다.

이 클래스의 역할은 사용자의 입력을 도메인(비즈니스) 계층으로 전달하는 것이다. 도메인 로직과의 분리를 위해서 도메인에 대해 알아야 할 수 있는 검증은 하지 않는다.

m3t08

UserInputReader 클래스

정규 표현식을 사용하여 숫자가 아닌 문자가 존재하는 경우 예외를 던졌다. 인스턴스 필드가 없기 때문에 모든 메서드를 static으로 선언했다.

UserInputReader

ApplicationTest

미션에서 제공한 테스트를 통과했다.

MissionImpl

테스트를 통과하기 위해 일단 이렇게 구현했다. 다음 단계는 리팩토링을 통해 중복을 제거하고 레이어를 분리하는 것이다.

마무리

elapsed-time

reference

Comments