struct test_name : public BOOST_AUTO_TEST_CASE_FIXTURE \
{ void test_method(const type_name&); }; \
\
type_name* BOOST_JOIN(test_name, _begin) = &values[0]; \
type_name* BOOST_JOIN(test_name, _end) = BOOST_JOIN(test_name, _begin) + (sizeof(values)/sizeof(values[0])); \
static void BOOST_AUTO_TC_INVOKER( test_name )(const type_name& param_name ) \
{ \
t.test_method(param_name); \
} \
\
struct BOOST_AUTO_TC_UNIQUE_ID( test_name ) {};
\
boost::unit_test::make_test_case(&BOOST_AUTO_TC_INVOKER( test_name ), \
BOOST_TEST_STRINGIZE( test_name ), \
BOOST_TEST_STRINGIZE(__FILE__), __LINE__, \
BOOST_JOIN(test_name, _begin), BOOST_JOIN(test_name, _end)), \
boost::unit_test::decorator::collector::instance()); \
\
void test_name::test_method(const type_name& param_name) \
#define BOOST_AUTO_TU_REGISTRAR