"Pierre-Jules Tremblay"
I understand.
So I'm not sure I can build the tool I need with the existing tools. What I need to do is essentially compare two vector<float> objects of same size, element-by-element. I would be ok with using an absolute difference test in all cases (so that zero and non-zero comparison tests remain valid), however if I'm not mistaken my only choice is BOOST_CHECK_SMALL(a-b,tol) where a and b are corresponding elements of the two vectors. The downside of this approach is that if the test fails, only one value gets printed out, i.e. the result of the subtraction.
Can you suggest a way to combine existing tools to get what I'm looking for?
You could write your own comparison predicate that is build on boost::test_tools::check_is_small: boost::test_tools::predicate_result my_compare_coll( vector<float> const& v1, vector<float> const& v2, float tol ) { boost::test_tools::predicate_result res; // compare sizes here // compare elem by elem // if ith elems mismatched produce an error // see equal_coll_impl( Left left_begin, Left left_end, Right right_begin, Right right_end ) for example // atomic check is based on boost::test_tools::check_is_small // boost::test_tools::check_is_small( *v1_it - *v2_it, tol ); return res; } Gennadiy