5장. 솔직히 말하자면
- 할일 목록
$5 + 10CHF = $10 (환율이 2:1로 가정)
$5 x 2 = $10
amount를 private으로 만들기
Dollar side effect?
Money 반올림?
equals()
hashCode()
Equal null
Equal object
5CHF x 2 = 10CHF
위 목록중 첫 번째 테스트에 접근하기 위해서는 어떻게 해야할까? 우선 Franc을 표현할 수 있는 객체가 필요할 것이다. Franc 객체를 생성하기 전에 Dollar 테스트를 복사한 후 수정해보자.
위 테스트를 성공시키기 위해서는 어떻게 해야할까?
TDD의 단계를 다시 살펴보자.
테스트 작성
컴파일되게 하기
실패하는지 확인하기 위해 실행
실행하게 만듦
중복 제거
어차피 다섯 번째 단계 없이는 앞에 네 단계도 제대로 되지 않으니, 처음 네 단계를 빨리 진행할 때는 설계보다 속도를 중요시하자. 그런 후 적절한 시기에 적절한 설계를 돌아가게 만들고, 올바르게 만들자.
위 테스트코드를 컴파일되게 만들기 위해 Dollar 객체를 복사한 후 Franc으로 바꾸자.
- 할일 목록
$5 + 10CHF = $10 (환율이 2:1로 가정)
$5 x 2 = $10
amount를 private으로 만들기
Dollar side effect?
Money 반올림?
equals()
hashCode()
Equal null
Equal object
5CHF x 2 = 10CHF
Dollar/Franc 중복
공용 equals
공용 times
5장을 정리해보면
큰 데스트를 공략할 수 없으니 작은 테스트를 만들었다.
뻔뻔하게 중복을 만들고 조금 고쳐서 테스트를 작성했다.
모델 코드까지 복사해서 테스트를 통과해버렸다.
중복이 사라지기 전에는 다른 테스트를 시작하지 않기로 했다.