我有两种不同的方法来计算一个值。两种方法都运行后,我得到以下信息:
decimal a = 145.2344;
decimal b = 145.2345;
我有一个单元测试:
Assert.AreEqual(a,b);
我希望能够解释 +/- .0001 的差异。如何添加此规则?
我有两种不同的方法来计算一个值。两种方法都运行后,我得到以下信息:
decimal a = 145.2344;
decimal b = 145.2345;
我有一个单元测试:
Assert.AreEqual(a,b);
我希望能够解释 +/- .0001 的差异。如何添加此规则?
在NUnit 的约束模型中,你可以这样做:
Assert.That(Math.Abs(a-b), Is.LessThan(0.0001M));
更好的是,让它成为一个函数:
void AssertDiff(decimal a, decimal b, decimal diff = 0.0001) {
Assert.That(Math.Abs(a-b), Is.LessThan(diff));
}
编辑:在 MS 单元测试框架中,执行以下操作:
void AssertDiff(decimal a, decimal b, decimal diff = 0.0001) {
Assert.IsTrue(Math.Abs(a-b) < diff);
}
简单的:
if (Math.Abs(a-b) < 0.0001m)
// equal