Я задавался вопросом почему assertEquals(double, double)
удерживается от использования.
Я использовал import static org.junit.Assert.assertEquals;
и я использовал JUnit 4.11.
Ниже мой код:
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class AccountTest {
@Test
public void test() {
Account checking = new Account(Account.CHECKING);
checking.deposit(1000.0);
checking.withdraw(100.0);
assertEquals(900.0, checking.getBalance());
}
}
checking.getBalance()
возвращает двойное значение.
Что могло быть неправильным?
Старый вопрос, но это еще не было сказано и могло бы помочь кому-то.
можно использовать com.google.common.math.DoubleMath.fuzzyEquals(double a, double b, double tolerance)
, который позволяет Вам указывать, как близко эти два удваиваются, должен быть друг другу.
я нашел это очень удобным для модульных тестов, где я не хочу к hardcode значениям результата испытаний с большим количеством десятичных разрядов.