【发布时间】:2012-08-09 09:37:01
【问题描述】:
我正在测试方差方法(单元),但出现双重问题。
public double Variance()
{
return Probablity * (1 - Probablity);
}
[Test]
public void Variance_WithSuccessProbablity02_Returns016()
{
var bernoulli = new BernoulliDistribution(0.2);
Assert.AreEqual(bernoulli.Variance(), 0.16);
}
这个测试结果是返回失败。 失败:预期:0.160000000000003d 但为 0.16d
【问题讨论】:
-
现在真正的注意事项:您的问题是什么?您知道这是一个“双重问题”——您希望我们怎么做?
-
好吧
0.2d * 0.8d不完全是 0.16d ! !但使用小数可以帮助解决这个问题 -
看看我下面的回复,它应该会给你你需要的代码更新。如果它有效,请不要忘记接受它:-)
标签: c# unit-testing testing tdd nunit