おなかいっぱいです、どうもマコピーです。
Test::Deep::Between - Number is the range expected - metacpan.org
上げたばっかなのでまだ0.01ですがそのうち0.02になると思います。
Test::Deep::BetweenはTest::Deepと合わせて使う、値域チェックを行うモジュールでございます。特に型チェックはおこなっていないのでテストに含めたTime::Piece等の比較演算子をオーバーライドしているモジュールにも使えるかと思います。
さて先日、Test::Deep::Betweenっていうのを書いてみたけれど - ぱいぱいにっきというエントリを書いたあとに、なんか珍しく気分が向いてPAUSE登録してみるかーって感じでやってみたわけでございます。そしたら数分で通ってしまってびっくりしたわけでございます。
まあじゃあ上げましょうかねということで宿題に苦しむ人がやいのやいの言う某面白法人のIRCに割って入って上がらない上がらないと試行錯誤した末、昨晩0.01を上げることが出来ました。id:sfujiwaraさん、@Songmuさん、335さんはじめ、みなさまありがとうございます。
ですがVersion 0.01はData::Utilによる型チェックを行なっていまして、id:soh335さんから「残念」という言葉が聞こえてきたので型チェックをなくし、またle演算子による文字列として比較するbetween_strというメソッドを追加しました。文字列で表現された日付などのチェックにお使いください。
注意点として型チェックをはおこなっていないのでbetweenに文字列等突っ込んだ場合warnが起きるもののテストは通るみたいなちょっといけてない感じになります。相談した結果、$SIG{__WARN__}を捕捉してどうこうするというのはちょっと大げさではないかということで今はそっとしています。その時の挙動はひとつテストに含めています。
こんなかんじです。