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

3주차 - 테스트 코드 작성 순서 - 김정호 #19

Closed
4 tasks done
hou27 opened this issue Jan 10, 2023 · 3 comments · Fixed by #12 or #28
Closed
4 tasks done

3주차 - 테스트 코드 작성 순서 - 김정호 #19

hou27 opened this issue Jan 10, 2023 · 3 comments · Fixed by #12 or #28
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@hou27
Copy link
Member

hou27 commented Jan 10, 2023

#18

⭐ Chapter 3. 테스트 코드 작성 순서

어떤 테스트로 시작해야 하는지, 우선시 되어야 하는 테스트는 무엇인지를 공부하고
완급 조절을 통해 TDD에 보다 능숙해질 수 있도록 한다.

  • 테스트 작성 순서 연습
  • Chap 3의 내용은 개인 기술 블로그에 정리한 후 자신의 issue에 comment로 링크 남기기
  • 문제 만들고, Core Member에게 제출하기(스터디 전날까지 부탁드려요!)

  • 모든 과정을 마친 후 pull request 올리기
@hou27 hou27 added the documentation Improvements or additions to documentation label Jan 10, 2023
@hou27 hou27 self-assigned this Jan 10, 2023
@hou27 hou27 linked a pull request Jan 10, 2023 that will close this issue
hou27 added a commit that referenced this issue Jan 10, 2023
hou27 added a commit that referenced this issue Jan 12, 2023
납부 금액 기준으로 서비스 만료일 계산 기능 구현을 통해
테스트 작성 순서를 연습하기 위해 테스트 파일 생성
hou27 added a commit that referenced this issue Jan 12, 2023
가장 쉬운 것부터 테스트
hou27 added a commit that referenced this issue Jan 12, 2023
상수를 사용하여 통과시킨 후
구현을 일반화함
hou27 added a commit that referenced this issue Jan 12, 2023
hou27 added a commit that referenced this issue Jan 12, 2023
@hou27
Copy link
Member Author

hou27 commented Jan 12, 2023

실습을 위한 유료 서비스 구현

규칙

  • 서비스를 사용하려면 매달 1만 원을 선불로 납부한다. 납부일 기준으로 한 달 뒤가 서비스 만료일이 된다.
  • 2개월 이상의 요금을 한 번에 납부할 수 있다.
  • 10만 원을 납부하면 서비스를 1년 제공한다.

hou27 added a commit that referenced this issue Jan 12, 2023
테스트 코드만 작성 후 바로 돌려보니 통과됨.
: LocalDate#plusMonths() method가 알아서
한 달 추가 처리해준 것을 확인할 수 있음
@hou27
Copy link
Member Author

hou27 commented Jan 12, 2023

  1. 첫 납부일과 만료일의 일자가 다른 경우 만료일에 만 원 납부 시 다음 만료일은 첫 납부일의 일자와 같도록
  2. 2만 원, 3만 원을 지불해서 만료일이 두 달 또는 세 달 뒤가 되는 경우
  3. 10만 원 납부 시 1년 제공

hou27 added a commit that referenced this issue Jan 12, 2023
두 달 또는 세 달 뒤가 만료일인 예외는 새로운 것을 추가해야함.
그렇기 때문에 한 달 뒤가 만료일인 경우의 예외 케이스를 먼저 마무리
hou27 added a commit that referenced this issue Jan 12, 2023
public static Builder builder() {
    return new Builder();
}
hou27 added a commit that referenced this issue Jan 12, 2023
첫 납부일과 만료일의 일자가 다른 경우 만 원 추가 납부 시 다음 만료일은 첫 납부일과 같도록 함
hou27 added a commit that referenced this issue Jan 12, 2023
추가된 조건에 따라 메서드 추가 구현 및 리팩토링
(첫 납부일의 일자가 만료일의 달에 존재하지 않는 경우 고려)
hou27 added a commit that referenced this issue Jan 12, 2023
@hou27
Copy link
Member Author

hou27 commented Jan 12, 2023

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
1 participant