
Gennadiy Rozental skrev:
Thorsten Ottosen <thorsten.ottosen <at> dezide.com> writes:
then why not add
BOOST_CHECK_EQUAL_RANGE( Rng1, Rng2 )
// implement by calling make_iterator_range() on the two arguments
Actually, this is too naive an implementation as iterator_range<> lacks
,>=,<=. Hm. Maybe I should add those.
There is one more annoyance, I think. std::pair<T,U> lacks a operator<<() which means the following will fail: BOOST_CHECK_EQUAL_RANGE( ba::map_list_of("foo",1)("bar",2), get_map() ); Is it reasonable that operator<<() is required when we simply want to test comparison with ==? Perhaps there should be a way to get rid of that requirement?
Also, I would like to see
BOOST_CHECK_NE_RANGE( Rng1, Rng2 ) BOOST_CHECK_GT_RANGE( Rng1, Rng2 ) BOOST_CHECK_GE_RANGE( Rng1, Rng2 ) BOOST_CHECK_LT_RANGE( Rng1, Rng2 ) BOOST_CHECK_LE_RANGE( Rng1, Rng2 )
I guess it make sence now. The only problem I would prefer to avoid extra dependency on range library. I can put it into separate header.
That is quite ok. Just include everything in that header then. -Thorsten