2
0
mirror of https://github.com/boostorg/test.git synced 2026-01-21 17:32:17 +00:00
Files
test/example/filtering_example.cpp
2015-02-01 07:47:23 -05:00

443 lines
9.0 KiB
C++

// (C) Copyright Gennadiy Rozental 2015.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/test for the library home page.
#define BOOST_TEST_MODULE filtering test
#include <boost/test/unit_test.hpp>
namespace bt=boost::unit_test;
const std::string test1v("test1");
const std::string test2v("test2");
const std::string test3v("test3");
//____________________________________________________________________________//
BOOST_TEST_DECORATOR(
- bt::disabled()
- bt::description( "initially disabled suite 1")
- bt::label( "label1" )
- bt::label( "label2" )
)
BOOST_AUTO_TEST_SUITE( s1 )
BOOST_TEST_DECORATOR(
- bt::enabled()
- bt::description( "initially enabled case s1/t1")
)
BOOST_AUTO_TEST_CASE( test1 )
{
BOOST_TEST( "s1" == test1v );
}
//____________________________________________________________________________//
BOOST_TEST_DECORATOR(
- bt::description( "initially defaulted case s1/t2")
- bt::expected_failures( 1 )
)
BOOST_AUTO_TEST_CASE( test2 )
{
BOOST_TEST( "s1" == test2v );
}
//____________________________________________________________________________//
BOOST_TEST_DECORATOR(
- bt::description( "initially defaulted case s1/t3")
)
BOOST_AUTO_TEST_CASE( test3 )
{
BOOST_TEST( "s1" == test3v );
}
//____________________________________________________________________________//
BOOST_AUTO_TEST_SUITE_END()
BOOST_TEST_DECORATOR(
- bt::disabled()
- bt::label( "label1" )
- bt::expected_failures( 3 )
)
BOOST_AUTO_TEST_SUITE( s2 )
BOOST_TEST_DECORATOR(
- bt::description( "initially defaulted case s2/t1")
)
BOOST_AUTO_TEST_CASE( test1 )
{
BOOST_TEST( "s2" == test1v );
}
//____________________________________________________________________________//
boost::test_tools::assertion_result
do_it( bt::test_unit_id )
{
return false;
}
BOOST_TEST_DECORATOR(
- bt::enabled()
- bt::description( "initially enabled case s2/t2")
- bt::precondition(do_it)
)
BOOST_AUTO_TEST_CASE( test2 )
{
BOOST_TEST( "s2" == test2v );
}
//____________________________________________________________________________//
BOOST_TEST_DECORATOR(
- bt::description( "initially defaulted case s2/t3")
)
BOOST_AUTO_TEST_CASE( test3 )
{
BOOST_TEST( "s2" == test3v );
}
//____________________________________________________________________________//
BOOST_AUTO_TEST_SUITE_END()
BOOST_TEST_DECORATOR(
- bt::disabled()
)
BOOST_AUTO_TEST_SUITE( s3 )
BOOST_AUTO_TEST_CASE( test1 )
{
BOOST_TEST( "s3" == test1v );
}
//____________________________________________________________________________//
BOOST_TEST_DECORATOR(
- bt::timeout( 10 )
)
BOOST_AUTO_TEST_CASE( test2 )
{
BOOST_TEST( "s3" == test2v );
}
//____________________________________________________________________________//
BOOST_TEST_DECORATOR(
- bt::enabled()
)
BOOST_AUTO_TEST_CASE( test3 )
{
BOOST_TEST( "s3" == test3v );
}
//____________________________________________________________________________//
BOOST_TEST_DECORATOR(
- bt::depends_on( "s3/s15" )
- bt::description( "test suite which depends on another test suite")
)
BOOST_AUTO_TEST_SUITE( s14 )
BOOST_TEST_DECORATOR(
- bt::depends_on( "s2" )
)
BOOST_AUTO_TEST_CASE( test1 )
{
BOOST_TEST( "s14" == test1v );
}
//____________________________________________________________________________//
BOOST_AUTO_TEST_SUITE_END()
BOOST_AUTO_TEST_SUITE( s15 )
BOOST_AUTO_TEST_CASE( test1 )
{
BOOST_TEST( "s15" == test1v );
}
//____________________________________________________________________________//
BOOST_AUTO_TEST_SUITE_END()
BOOST_AUTO_TEST_SUITE_END()
BOOST_AUTO_TEST_SUITE( s4 )
BOOST_TEST_DECORATOR(
- bt::disabled()
- bt::label( "label2" )
)
BOOST_AUTO_TEST_CASE( test1 )
{
BOOST_TEST( "s4" == test1v );
}
//____________________________________________________________________________//
BOOST_TEST_DECORATOR(
- bt::depends_on( "s4/test1" )
- bt::description( "test case which depends on disabled s4/t1")
)
BOOST_AUTO_TEST_CASE( test2 )
{
BOOST_TEST( "s4" == test2v );
}
//____________________________________________________________________________//
BOOST_TEST_DECORATOR(
- bt::depends_on( "s4/test2" )
- bt::description( "test case which depends on enabled s4/t2, but indirectly on disabled s4/t1")
)
BOOST_AUTO_TEST_CASE( test3 )
{
BOOST_TEST( "s4" == test3v );
}
//____________________________________________________________________________//
BOOST_AUTO_TEST_SUITE_END()
#if 0
BOOST_AUTO_TEST_SUITE( s5 )
BOOST_TEST_DECORATOR(
- bt::depends_on( "s5/test3" )
)
BOOST_AUTO_TEST_CASE( test1 )
{
BOOST_TEST( "s5" == test1v );
}
//____________________________________________________________________________//
BOOST_TEST_DECORATOR(
- bt::depends_on( "s5/test1" )
)
BOOST_AUTO_TEST_CASE( test2 )
{
BOOST_TEST( "s5" == test2v );
}
//____________________________________________________________________________//
BOOST_TEST_DECORATOR(
- bt::depends_on( "s5/test2" )
)
BOOST_AUTO_TEST_CASE( test3 )
{
BOOST_TEST( "s5" == test3v );
}
//____________________________________________________________________________//
BOOST_AUTO_TEST_SUITE_END()
#endif
BOOST_AUTO_TEST_SUITE( s6 )
BOOST_TEST_DECORATOR(
- bt::depends_on( "s6/test3" )
- bt::description( "test case which depends on enabled s6/t3")
)
BOOST_AUTO_TEST_CASE( test1 )
{
BOOST_TEST( "s6" == test1v );
}
//____________________________________________________________________________//
BOOST_TEST_DECORATOR(
- bt::depends_on( "s6/test1" )
- bt::description( "test case which depends on enabled s6/t1")
)
BOOST_AUTO_TEST_CASE( test2 )
{
BOOST_TEST( "s6" == test2v );
}
//____________________________________________________________________________//
BOOST_AUTO_TEST_CASE( test3 )
{
BOOST_TEST( "s6" == test3v );
}
//____________________________________________________________________________//
BOOST_TEST_DECORATOR(
- bt::description( "test suite with all test cases disabled")
)
BOOST_AUTO_TEST_SUITE( s9 )
BOOST_TEST_DECORATOR(
- bt::disabled()
- bt::label( "label1" )
)
BOOST_AUTO_TEST_CASE( test1 )
{
BOOST_TEST( "s9" == test1v );
}
//____________________________________________________________________________//
BOOST_TEST_DECORATOR(
- bt::disabled()
)
BOOST_AUTO_TEST_CASE( test2 )
{
BOOST_TEST( "s9" == test2v );
}
//____________________________________________________________________________//
BOOST_AUTO_TEST_SUITE_END()
BOOST_AUTO_TEST_SUITE_END()
#if 0
BOOST_AUTO_TEST_SUITE( s7 )
BOOST_TEST_DECORATOR(
- bt::depends_on( "s8/test1" )
)
BOOST_AUTO_TEST_CASE( test1 )
{
BOOST_TEST( "s7" == test1v );
}
//____________________________________________________________________________//
BOOST_TEST_DECORATOR(
- bt::depends_on( "s7/test1" )
)
BOOST_AUTO_TEST_CASE( test2 )
{
BOOST_TEST( "s7" == test2v );
}
//____________________________________________________________________________//
BOOST_AUTO_TEST_SUITE_END()
BOOST_AUTO_TEST_SUITE( s8 )
BOOST_TEST_DECORATOR(
- bt::depends_on( "s8/test2" )
)
BOOST_AUTO_TEST_CASE( test1 )
{
BOOST_TEST( "s8" == test1v );
}
//____________________________________________________________________________//
BOOST_TEST_DECORATOR(
- bt::depends_on( "s7/test2" )
)
BOOST_AUTO_TEST_CASE( test2 )
{
BOOST_TEST( "s8" == test2v );
}
//____________________________________________________________________________//
`
BOOST_AUTO_TEST_SUITE_END()
BOOST_AUTO_TEST_SUITE( s10 )
BOOST_TEST_DECORATOR(
- bt::depends_on( "s11" )
)
BOOST_AUTO_TEST_CASE( test1 )
{
BOOST_TEST( "s10" == test1v );
}
//____________________________________________________________________________//
BOOST_TEST_DECORATOR(
- bt::depends_on( "s10/test1" )
)
BOOST_AUTO_TEST_CASE( test2 )
{
BOOST_TEST( "s10" == test2v );
}
//____________________________________________________________________________//
BOOST_AUTO_TEST_SUITE_END()
BOOST_AUTO_TEST_SUITE( s11 )
BOOST_TEST_DECORATOR(
- bt::depends_on( "s11/test2" )
)
BOOST_AUTO_TEST_CASE( test1 )
{
BOOST_TEST( "s11" == test1v );
}
//____________________________________________________________________________//
BOOST_TEST_DECORATOR(
- bt::depends_on( "s10" )
)
BOOST_AUTO_TEST_CASE( test2 )
{
BOOST_TEST( "s11" == test2v );
}
//____________________________________________________________________________//
BOOST_AUTO_TEST_SUITE_END()
#endif
BOOST_AUTO_TEST_SUITE( s12 )
BOOST_TEST_DECORATOR(
- bt::depends_on( "s13" )
- bt::description( "test test case which depends on test suite with all test cases skipped")
)
BOOST_AUTO_TEST_CASE( test1 )
{
BOOST_TEST( "s12" == test1v );
}
//____________________________________________________________________________//
BOOST_AUTO_TEST_SUITE_END()
BOOST_AUTO_TEST_SUITE( s13 )
BOOST_TEST_DECORATOR(
- bt::depends_on( "s13/test2" )
)
BOOST_AUTO_TEST_CASE( test1 )
{
BOOST_TEST( "s13" == test1v );
}
//____________________________________________________________________________//
BOOST_TEST_DECORATOR(
- bt::disabled()
)
BOOST_AUTO_TEST_CASE( test2 )
{
BOOST_TEST( "s13" == test2v );
}
//____________________________________________________________________________//
BOOST_AUTO_TEST_SUITE_END()
// EOF