At Sat, 23 Dec 2000 14:00:37 +0900 (JST), Masaki Suketa wrote: > > RUNIT::Assert#assert_test(obj1, op, obj2 [,message]) > > > > !obj1.send(op, obj2) のときに RUNIT::AssertionFailedError > > 例外を発生させる。第 3 引数が指定された場合は、 message > > 文字列とともに例外を発生させる。(別名: assert_comparison) > > これ、いいですね。取り込ませていただきます。 ありがとうございます。 > が、assert_testという名前はちょっと一般的過ぎるので > もうちょっとぴったり来る名前をつけたいところです。 UNIX の test コマンドを意識してのネーミングだったんですが、 あまりしっくりこないかもしれませんね。 > 逆にassert_comparisonは用途が限定され過ぎるイメージがあるので > ちょっと。 用途は限定した方がいいかなと思いますが、ほかに考えたのは assert_binary # 二項演算子 assert_equality # 比較演算子 assert_equation # 等式 などです。(この中では assert_equality かなと思っています) ところで、 Ruby の仕様上 !=, !== はメッセージとして使えないので、 いっそ次のメソッドも導入してしまいませんか?そんなに利用されるか どうかは分かりませんが、否定もあった方が一貫性があると思います。 assert_not_equal(obj1, obj2, message="") # obj1 != obj2 assert_not_same(obj1, obj2, message="") # !obj1.equal? obj2 assert_eqq(obj1, obj2, message="") # obj1 === obj2 assert_not_eqq(obj1, obj2, message="") # obj1 !== obj2 (不等号の否定は < なら >= にすればよいので問題なし) それと、なんとなく alias assert_eq assert_equal alias assert_not_eq assert_not_equal alias assert_identical assert_same alias assert_not_identical assert_not_same alias assert_not_fail assert_no_exception という aliases があるといいかなと思います。 最後に、 assert_exception/assert_no_exception がドキュメントから 漏れているようです。 長くなりましたが以上です。 -- / /__ __ Akinori.org / MUSHA.org / ) ) ) ) / FreeBSD.org / Ruby-lang.org Akinori MUSHA aka / (_ / ( (__( @ iDaemons.org / and.or.jp "We're only at home when we're on the run, on the wing, on the fly"