Ich schreibe einen JUnit-Test für eine Java-Variable, die ArrayList<Double>
ist. Die Komplikation ist, dass meine erwarteten Werte einfache Genauigkeit sind, während Javas Double
doppelte Genauigkeit ist. So passiert assertEquals(expected_array_list, actual_array_list)
nicht aufgrund von Präzisionsfehlern.Java Junit4: assertEquals für ArrayList <Double> mit einfach erwarteten Genauigkeitswerten
Mein Work-Around ist, über alle Elemente und assertEquals
jedes Doppelpaar zu iterieren, den epsilon
Wert auf einen geeigneten Wert zu setzen. Gibt es eine Methode, die epsilon
für die gesamte ArrayList
einzustellen, anstatt sie in ihre Elemente zu zerlegen?
Sie könnten eine eigene Methode implementieren, die die erwartete Doppel und der tatsächliche Doppel Wert bekommt. Dann können Sie die Werte in dieser Methode fortführen. –