BOOST_WARN_EQUAL( left, right )
BOOST_CHECK_EQUAL( left, right )
BOOST_REQUIRE_EQUAL( left, right )

Check performed by these tools is the same as the one performed by BOOST_<level>( left == right ). Use these tools if you want to see the mismatched runtime values. Note that it most probably bad idea to use these tools to compare floating point values. Use BOOST_<level>_CLOSE tools instead.

The first parameter is the left compared value. The second parameter is the right compared value. Parameters are not required to be of the same type. But there should exist comparison operator for left and right type (this may involve implicit conversions).

Example: test.cpp

int test_main( int, char* [] ) {
    int i = 2;
    int j = 1;
    BOOST_CHECK_EQUAL( i, j );

    return 0;
}

Output:

test.cpp(4) : error in test_main: test i == j failed [2 != 1]

See Also

BOOST_CHECK, BOOST_CHECK_CLOSE