TDD 1.0 Help

7장. 사과와 오렌지

할일 목록
  • $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

  • Franc과 Dollar 비교하기

Franc과 Dollar를 비교하면 어떻게 될까?

@kotlin.test.Test fun testEquality() { assertEquals(Dollar(5), Dollar(5)) assertNotEquals(Dollar(5), Dollar(6)) assertEquals(Franc(5), Franc(5)) assertNotEquals(Franc(5), Franc(6)) assertFalse(Franc(5).equals(Dollar(5))) }

컴파일조차 되지 않는다. 빠르게 고쳐보자.

override fun equals(other: Any?): Boolean { return amount == (other as Money).amount && javaClass == other.javaClass }

자바 객체의 용어를 사용하는 것보다 재정 분야에 맞는 용어를 사용하고 싶지만, 현재는 통화 개념 같은 게 없고, 통화 개념을 도입할 이유가 없어 보이므로 잠시 이렇게 두자.

할일 목록
  • $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

  • Franc과 Dollar 비교하기

  • 통화?

Last modified: 31 January 2024