GroovyのPowerAssertさんをいじめようとしてみた
GroovyのはPowerAssertという素敵なアレがあります。
assertに失敗したらそれを表示してくれるんですね。
でも文字列で表示するだけなので、toStringの実装がequals/hashCodeの実装とアレだったらこう、残念なことになります。
hogeとhogeなのにfalseだよ、と。こりゃ駄目だ。この辺も考えてtoString/equals/hashCodeは実装した方がいいかもしれませんのー。
文字列を表示するということは……
で、思ったんです。toStringの結果を返すなら、つまり、toStringに例外を投げさせたらPowerAssertの結果表示の時に例外でゔぉあーなことになるんじゃね?と。で。
class Hoge { public String toString() { throw new Exception() } }
いざ。
……駄目でした。涼しい顔して流されました。
「toString() threw java.lang.Exception」だってよ。ありがとよ。ちくしょう。