Форматирование для выхода сбоя BOOST_CHECK_CLOSE?

Я добавляю тесты к устаревшему коду, используя среду тестирования boost.

Одним из таких тестов может быть

****** expectedPrice = /*...local computation*/
BOOST_CHECK_CLOSE(expectedPrice, object->price, ACCURACY_THRESHOLD);

Где expectedPrice является двойной вычисленной локально, и объект извлекается из тестируемой системы.

error in "MyTest": difference{0.21097%} between expectedPrice{4.7300000000000004} and object->price{4.7400000000000002} exceeds 1.0000000000000001e-05%

Конечно, это немного трудно читать, учитывая все десятичные числа. Любой способ получить результат теста отформатирован лучше/по-разному, учитывая, что я использую голой двойники, а не какой-то другой тип?

2 ответа

Это известная проблема. С известным решением. Просто немного сложно реализовать, хотя я все еще надеюсь сделать в какой-то момент. Между тем вы застряли в том, что производит ваша библиотека iostream.


Вы можете попробовать:

cout < setprecision (2)

licensed under cc by-sa 3.0 with attribution.