マジで聞いているんなら、テストツールの使い方を覚えた方が建設的だと思う。
個人的には、Haskellからの流れで
[quickcheck](https://github.com/RevolutionAnalytics/quickcheck)
しか経験したことがないが、他にもあると思う。

コードが合っているかどうかわからないが、パット見問題なさそうに見える。
問題があったとしても、デバッグで十分対応できるように見える。
[リーナスの法則](https://en.wikipedia.org/wiki/Linus%27s_law):
あたなが十分な暇人ならばバグはいずれ塞がれる。