Форматирование для вывода ошибок BOOST_CHECK_CLOSE? - PullRequest
3 голосов
/ 03 декабря 2010

Я добавляю тесты в унаследованный код с использованием фреймворка для ускоренных тестов.

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

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

Где Ожидаемая цена - это двойное вычисление локально и объект извлекается изтестируемая система.

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

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

Ответы [ 2 ]

0 голосов
/ 17 марта 2011

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

0 голосов
/ 14 января 2011

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

cout << setprecision (2) </p>

...