以下の内容はhttps://tenkoma.hatenablog.com/entry/2019/01/09/222356より取得しました。


新訳版テスト駆動開発をPHPで写経した

f:id:tenkoma:20190109215900p:plain

旧訳(ピアソン)版をJavaで写経したことはあったけど、PHPではなかったので、正月に読んでいた。コードはGitHubに。

github.com

第Ⅰ部 他国通貨は完了。

第Ⅱ部 xUnitと付録B フィボナッチは気が向いたら写経しよう。

PHP で実装してみて

変数やプロパティの型宣言がないので、変更を省略した箇所が多い。 (ただしプロパティはPHP7.4で型宣言の機能が追加される予定(PHP: rfc:typed_properties_v2)なので、1年後はさらに型のエラーが利用できるはず) クラスをキャストするという概念もないので省略した。

HashMap に当たる機能が見つけられなかった。PHP: SplObjectStorage - Manualを利用してHashMap に近いものを実装しようかと思ったが写経の途中だったのでやめた。

assertEquals() は型チェックをしてくれないし、 assertSame() でオブジェクトの equals() を使ってくれないので、assertTrue()

$this->assertTrue($five->times(2)->equals(Money::dollar(10)));

というふうに書いた。(第4章 意図を語るテスト by tenkoma · Pull Request #6など)




以上の内容はhttps://tenkoma.hatenablog.com/entry/2019/01/09/222356より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14