JUnit assertEquals (двойной ожидаемый, двойной фактический, двойной эпсилон)

Возможный дубликат:
JUnit: assertEquals для двойных значений

По-видимому, assertEquals(double expected, double actual) устарел.

Javadocs для JUnit на удивление не хватает, а его широкое применение. Можете ли вы показать мне, как использовать новый assertEquals(double expected, double actual, double epsilon)?

Ответ 1

Эпсилон - ваш "фактор фаз", поскольку парные разряды могут быть не совсем одинаковыми. Epsilon позволяет вам описать, насколько они близки.

Если вы ожидали 3.14159, но взяли бы где угодно от 3.14059 до 3.14259 (то есть в пределах 0.001), тогда вы должны написать что-то вроде

double myPi = 22.0d / 7.0d; //Don't use this in real life!
assertEquals(3.14159, myPi, 0.001);

(Кстати, 22/7 выходит в 3.1428+, и это утверждение не будет выполнено. Это хорошо.)