Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

BOOST_level_NE

BOOST_level_NE(lhs, rhs) asserts that lhs is not equal to rhs. The comparison is made by applying operator!= to both arguments. The diagnostic message is constructed from applying operator<< to the two arguments.

[Important] Important

If you get a strange compile error when using BOOST_level_NE, check that the appropriate operator!= and operator<< are defined for the arguments. If you define these operators in your test code, keep in mind argument-dependent lookup of types based on enclosing namespaces and the namespaces opened by test suites. The need to define operator<< can be eliminated by using BOOST_TEST_DONT_PRINT_LOG_VALUE.

Example

BOOST_AUTO_TEST_CASE(example_ne)
{
    // integral types
    unsigned const u = 1u;
    int const i = -1;
    char const A = 'A';
    // standard library types providing operator!= and operator<<
    std::string const s = "scooby";

    BOOST_REQUIRE_NE(2u, u);
    BOOST_REQUIRE_NE(-2, i);
    BOOST_REQUIRE_NE('B', A);
    BOOST_REQUIRE_NE("scoobz", s);
}


PrevUpHomeNext