这里是我创建的实现牛顿法立方根方法的测试用例我的JUnit代码:JUnit测试用例失败
@Test
public void standardCase_negative64e9() {
double n = -64E9;
double result = csc143.newton.Roots.cbrt(n);
double delta = n * 1E-8;
assertEquals("Standard cube root -64E9", -4.0E3, result, delta);
}
当我做了我所有的测试用例的测试(使用DrJave IDE)我只得到了这个测试用例是失败的,它读取:
Failure: java.lang.AssertionError: Standard cube root -64E9 expected:<-4000.0> but
was:<-4000.0000000003124>
我觉得这事做与我的“增量”值(这是-640
在这种情况下),因为当我将“增量”与640
(而不是-640
)在assertEquals()
方法,我没有得到一个失败...
这个问题不http://stackoverflow.com/questions/322749/retain-precision-with-doubles-in-的副本java的。它应该重新打开。 –
如果您还解释_why_ @ItayMaman,您可能会获得更多成功... – Ben
您在重新打开的队列中看不到答案@SteveP – Ben