Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[1단계 - 자동차 경주 구현] 엽토(김건엽) 미션 제출합니다. #167

Merged
merged 44 commits into from
Feb 11, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
63fe28e
docs: 기능 구현 목록을 작성하다
yeopto Feb 7, 2023
c376996
docs: 예외처리 목록을 추가하다
yeopto Feb 8, 2023
575f4cb
chore: lint, prettier 적용하다
yeopto Feb 8, 2023
f1ed4ce
chore: 파일구조를 구축하다
yeopto Feb 8, 2023
77c07a8
chore: lint 수정하다
yeopto Feb 8, 2023
1070382
feat: Console 객체를 생성하다
yeopto Feb 8, 2023
bab84d4
feat: InputView 객체를 생성하다
yeopto Feb 8, 2023
de22e5a
feat: RaceMessage를 상수화하다
yeopto Feb 8, 2023
815eda5
feat: 경주할 자동차 이름을 입력받는다
yeopto Feb 8, 2023
2539980
feat: Car Class를 생성하다.
yeopto Feb 8, 2023
6c957ef
feat: 자동차 이름 입력에 대한 값을 예외처리하다
yeopto Feb 8, 2023
4eb367b
feat: 시도횟수가 1 이상의 숫자가 아닐 경우 예외처리한다
yeopto Feb 8, 2023
a400357
feat: 자동차 이름이 한개 이하일 경우엔 예외처리한다
yeopto Feb 8, 2023
2c35975
feat: 시도할 횟수를 입력받는다
yeopto Feb 8, 2023
a3857da
style: 변수명을 수정하다
yeopto Feb 8, 2023
24c0bfc
feat: 난수 생성 메서드를 만들다
yeopto Feb 8, 2023
a91a9fe
feat: 난수가 4 이상일 경우 자동차를 전진시키다
yeopto Feb 8, 2023
5fb9de4
feat: 입력받은 수만큼 시도 후 자동차 경주 결과를 출력하다
yeopto Feb 8, 2023
7a3c937
feat: 최종 우승자를 출력하고 종료한다
yeopto Feb 8, 2023
c016507
refactor: 상수를 분리하다
yeopto Feb 9, 2023
648f1a8
refactor: 메서드 명을 변경하다
yeopto Feb 9, 2023
49d8c49
test: Car Class 테스트 코드를 작성하다
yeopto Feb 9, 2023
6b8cf2e
test: Race Class 테스트 코드를 작성하다
yeopto Feb 9, 2023
4eb34ff
test: Validator 테스트 코드를 작성하다
yeopto Feb 9, 2023
403aebd
refactor: Validator에 대해 수정하다
yeopto Feb 9, 2023
99d068e
refactor: 자동차 이름 입력 값이 빈 값이거나 정의되지 않았다면 예외처리한다
yeopto Feb 9, 2023
3adbecd
refactor: 자동차 이름이 중복될 경우 예외처리한다
yeopto Feb 9, 2023
93f8ecf
refactor: Validator 메서드 이름을 변경하다
yeopto Feb 9, 2023
6f4e2ff
docs: 예외 처리 목록 추가
yeopto Feb 9, 2023
09b5089
chore: EOL를 처리하다
yeopto Feb 10, 2023
8a33842
chore: prettierignore을 삭제하다
yeopto Feb 10, 2023
dc979c6
chore: Car Class 테스트 파일을 수정하다
yeopto Feb 10, 2023
5f1e671
chore: .vscode 디렉토리를 gitignore에 추가하다
yeopto Feb 10, 2023
3b87d0b
chore: Validator 테스트 코드에서 설명을 수정하다
yeopto Feb 10, 2023
d126011
refactor: 구분자를 상수화 하지 않다
yeopto Feb 10, 2023
9924ec6
refactor: 이름에 숫자가 포함된 경우는 예외처리를 하지 않는다
yeopto Feb 10, 2023
5610618
reafactor: Controller handleRace 메서드명을 변경하다
yeopto Feb 10, 2023
2f08f21
chore: lock 파일을 지우다
yeopto Feb 10, 2023
03b85ce
docs: 기능 구현 목록 수정하다
yeopto Feb 10, 2023
cf10bd2
chore: EOL을 수동으로 설정하다
yeopto Feb 10, 2023
c07fbde
refactor: 변하지 않는 값을 상수화하지 않다
yeopto Feb 10, 2023
c8af6cc
refactor: move 메서드 테스트 코드 설명을 수정하다
yeopto Feb 11, 2023
e2fc29e
chore: prettier printWidth를 변경하다
yeopto Feb 11, 2023
c9d815a
refactor: Console Error Message를 변경하다
yeopto Feb 11, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions __tests__/Validator.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ describe('Validator 테스트', () => {
},
);

test.each([[' '], ['!'], [' '], ['123'], ['한123']])(
'자동차 이름이 한글이나 영문이 아닌 경우 예외처리한다.',
test.each([[' '], ['!'], [''], ['123']])(
'자동차 이름이 문자이거나 숫자만 들어간 경우 경우 예외처리한다.',
input => {
expect(() => {
Validator.validateCarName(input);
Expand Down
2 changes: 1 addition & 1 deletion docs/REQUIREMENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@

- [x] 시도횟수가 1이상의 숫자가 아닐 경우 예외처리한다.
- [x] 이름이 다섯자 이하가 아닐 경우 예외처리한다.
- [x] 이름에 한글이나 영문이 아닐 경우 예외처리한다.
- [x] 이름에 숫자만 있거나 이름이 문자라면 예외처리한다.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이름이 문자라면 왜 예외처리를 하시나요..!

- [x] 자동차 이름이 한개 이하일 경우엔 예외처리한다.
- [x] 자동차 이름이 중복된 경우엔 예외처리한다.
5 changes: 4 additions & 1 deletion src/Utils/Validator.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,10 @@ class Validator {
throw new Error(RACE_ERROR_MESSAGE.lengthOfName);
}

if (!/^[A-Z|a-z|ㄱ-ㅎ|ㅏ-ㅣ|가-힣]*$/.test(name)) {
if (
/^[0-9]+$/.test(name) ||
!/^[A-Z|a-z|ㄱ-ㅎ|ㅏ-ㅣ|가-힣|0-9]*$/.test(name)
) {
throw new Error(RACE_ERROR_MESSAGE.invalidInput);
}

Expand Down