Boost logo

Boost Users :

Subject: Re: [Boost-users] unit test BOOST_CHECK_CLOSE absolute
From: Gennadiy Rozental (rogeeff_at_[hidden])
Date: 2015-01-11 23:38:01


Renaud Lepère <lepere.renaud <at> yahoo.com> writes:

>
>
> I am doing unit tests using boost utf but I have sometimes problems with
> BOOST_CHECK_SMALL because it checks relative value.

BOOST_CHECK_SMALL checks for absolute value, but you probably meant
BOOST_CHECK_CLOSE.

> For example, I am comparing coordinates in 2d spaces and the relative
> value is not important, the meaningfull value is the absolute difference
> between coordinates.

It is almost never true. Related error gives you much better estimate of
closeness.

> I have seen that I can do a
> BOOST_CHECK_SMALL(fabs(x - expected_x), 1e-3);
>
> but in this can I don't have a good message when the test fails (it does
> not show the value of x and the expected_x).
>
> In fact I would like to have something like BOOST_CHECK_CLOSE_ABSOLUTE ?
> Is there something equivalent or how can I do something like this ?

Don't. Specify relative tolerance (or percent tolerance) and keep using
BOOST_CHECK_CLOSE.

Gennadiy


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net