< 현재 구현해야할 목록 >
개념적으로 Dollar.times() 연산은 호출을 받은 객체의 값에 인자로 받은 곱수만큼 곱한 값을 갖는 Dollar를 반환해야 한다. 하지만 테스트가 정확히 반영하지 않고있다.
test code를 아래와 같이 바꾼다
@Test
public void testMultiplication() {
Dollar five = new Dollar(5);
assertEquals(new Dollar(10), five.times(2));
assertEquals(new Dollar(15), five.times(3));
}
Dollar class에서 amount를 private로 바꿔준다.
private int amount;
이렇게 바꿀 수 있었던 이유는 위의 테스트가 일련의 오퍼레이션이 아니라 참인 명제에 대한 단언들이기 때문이다. 즉 amount 변수를 사용하는 코드는 Dollar 자신밖에 없기 때문에 private로 변경할 수 있다.
< 현재 구현해야할 목록 >
우리는 지금까지