Boost logo

Boost Users :

Subject: Re: [Boost-users] unit test: apply same test case to different fixtures
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2009-07-08 10:55:28


AMDG

Hicham Mouline wrote:
>> Hicham Mouline <hicham <at> mouline.org> writes:
>>
>>
>>> I have auto test cases that can take fixtures whose members they
>>>
>> access in a
>>
>>> uniform way.
>>>
>>> Say struct F1... Fn
>>>
>>> BOOST_FIXTURE_TEST_CASE( test_case1 , F1 ... Fn )
>>> {
>>> //same code for all Fi
>>> }
>>>
>>> Is there a way to do this?
>>>
>>> Regards,
>>>
>>>
>> 1. Make Fi inherit from Fi+1.
>> 2. Use something like this:
>>
>> template<typename T1,typename T2>
>> struct FixtureCollector : T1, T2 {};
>>
>> You can now either implement above using variardic templates or
>> implement macro
>> that will convert PP sequence into sequence of
>> FixtureCollector<T1,...>:
>>
>> For example
>>
>> FIXTURES((T1)(T2)(T3)) should generate:
>>
>> FixtureCollector<T1,FixtureCollector<T2,T3> >
>>
>> use it :
>>
>> BOOST_FIXTURE_TEST_CASE( test_case1 , FIXTURES((T1)(T2)(T3)) )
>> {
>> }
>>
>
> The question is how to run the test case on T1 then on T2 then .... on Tn ,
> on each one separately
>

In other words, you'd like there to be a
BOOST_FIXTURE_TEST_CASE_TEMPLATE
to complement
BOOST_AUTO_TEST_CASE_TEMPLATE

In Christ,
Steven Watanabe


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net