這裏是我創建的實現牛頓法立方根方法的測試用例我的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