솔직히 말하자면
작은 테스트
그럼 이제 첫 번째 테스트를 다시 들여다 보자. 어떤 식으로 접근할 수 있을까?
아직 작은 단계 하나로 구현하는 테스트를 작성해낼 수 있을 지 확실치 않다.
따라서 첫 번째 테스트는 더 세분화된 작은 단계를 필요하다. 즉, 큰 테스트를 공략할 수 없기때문에 진전을 나타낼 수 있는 자그마한 테스트를 만들어야 한다.
그럼 무엇이 필요한가?
만약 다른 화폐 단위인 CHF 대한 Franc 객체가 있다면, 단위가 섞인 덧셈 테스트를 작성하는 데 조금 더 가까워 질 것이다. 테스트 목록에 추가하고 진행해보자.
$5 + 10CHF = $10(환율이 2:1 일 경우)
$5 *2 = 10$amount를 private으로 만들기Dollar 부작용(side effect)?Money 반올림?
equals()hashCode()
Equal null
Equal object
5CHF * 2 = 10CHF
테스트 주기에 맞춰 비슷한 시나리오인 Dollar 테스트를 복사한 후 Franc 타입으로 수정해보자.