TL;DR

  • 「ドル(Dollar)とスイスフラン(Franc)を比較するとどうなるか」という疑念をテストコードに落とし込んだ。
  • テストは最低限の実装で通し、より詳細な設計は必要になるまで先延ばしにした。

内容

本章では、同じ金額のドルとフランが等しいと判定されてしまうのではないかという疑念を、次のテストとして書いた。

public class MoneyTest {
    // ...
    @Test
    public void testEquality() {
        // ...
        assertFalse(new Franc(5).equals(new Dollar(5)));
    }
}

このテストが通るように、最低限の実装を行った。財務のドメインに近づけるような詳細な設計は、必要に迫られるまで先延ばしにした。

キーワード