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"