Test::Moreを使用して、Perl で単体テストを作成しています。私はcxxunitの構成要素のいくつかに慣れており、特にTS_ASSERT_DELTAがありません。TS_ASSERT_DELTAを見たことがない人のために説明すると、次のようになります。
TS_ASSERT_DELTA( 1.0, 1.1, 0.5 ); // this test will pass
TS_ASSERT_DELTA( 1.0, 1.1, 1e-10 ); // this test will fail
浮動小数点比較に相当する Perl はありますか? それとも、誰もがこれのために明白な関数を書くだけですか? 私は現在これに取り組んでいます:
sub compare_float_delta {
my $n1 = shift;
my $n2 = shift;
my $delta = shift;
return( abs($n1-$n2) < $delta );
}
私には、これはテスト フレームワークが提供する必要があるもののように思えます。その考えは正しいですか、それとも float_compare_delta を呼び出して、私の人生を続けるべきですか?