x
Yes
No
Do you want to visit DriveHQ English website?
首页
产品服务
价格
免费试用
下载客户端
关于我们
云文件服务
|
云备份服务
|
FTP服务
|
企业邮箱服务
|
网站托管
|
客户端软件
云文件服务
云备份服务
FTP服务
企业级邮箱服务
网站托管
客户端软件
test_case_template.hpp - Hosted on DriveHQ Cloud IT Platform
返回上层目录
上传
下载
共享
发布
新建文件夹
新建文件
复制
剪切
删除
粘贴
评论
升级服务
路径: \\game3dprogramming\materials\GameFactory\GameFactoryDemo\references\boost_1_35_0\boost\test\test_case_template.hpp
旋转
特效
属性
历史版本
// (C) Copyright Gennadiy Rozental 2003-2007. // 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. // // File : $RCSfile$ // // Version : $Revision: 41369 $ // // Description : implements support for test cases templates instantiated with // sequence of test types // *************************************************************************** #ifndef BOOST_TEST_TEST_CASE_TEMPLATE_HPP_071894GER #define BOOST_TEST_TEST_CASE_TEMPLATE_HPP_071894GER // Boost.Test #include
// Boost #include
#include
#include
#include
// STL #include
#include
//____________________________________________________________________________// #define BOOST_TEST_CASE_TEMPLATE( name, typelist ) \ boost::unit_test::ut_detail::template_test_case_gen
( \ BOOST_TEST_STRINGIZE( name ) ) \ /**/ //____________________________________________________________________________// #define BOOST_TEST_CASE_TEMPLATE_FUNCTION( name, type_name ) \ template
\ void BOOST_JOIN( name, _impl )( boost::type
* ); \ \ struct name { \ template
\ static void run( boost::type
* frwrd = 0 ) \ { \ BOOST_JOIN( name, _impl )( frwrd ); \ } \ }; \ \ template
\ void BOOST_JOIN( name, _impl )( boost::type
* ) \ /**/ //____________________________________________________________________________// namespace boost { namespace unit_test { namespace ut_detail { // ************************************************************************** // // ************** test_case_template_invoker ************** // // ************************************************************************** // template
class test_case_template_invoker { public: void operator()() { TestCaseTemplate::run( (boost::type
*)0 ); } }; //____________________________________________________________________________// // ************************************************************************** // // ************** generate_test_case_4_type ************** // // ************************************************************************** // template
struct generate_test_case_4_type { explicit generate_test_case_4_type( const_string tc_name, Generator& G ) : m_test_case_name( tc_name ) , m_holder( G ) {} template
void operator()( mpl::identity
) { std::string full_name; assign_op( full_name, m_test_case_name, 0 ); full_name += '<'; full_name += typeid(TestType).name(); if( boost::is_const
::value ) full_name += " const"; full_name += '>'; m_holder.m_test_cases.push_back( new test_case( full_name, test_case_template_invoker
() ) ); } private: // Data members const_string m_test_case_name; Generator& m_holder; }; // ************************************************************************** // // ************** test_case_template ************** // // ************************************************************************** // template
class template_test_case_gen : public test_unit_generator { public: // Constructor template_test_case_gen( const_string tc_name ) { typedef generate_test_case_4_type
, TestCaseTemplate > single_test_gen; mpl::for_each
>( single_test_gen( tc_name, *this ) ); } test_unit* next() const { if( m_test_cases.empty() ) return 0; test_unit* res = m_test_cases.front(); m_test_cases.pop_front(); return res; } // Data members mutable std::list
m_test_cases; }; //____________________________________________________________________________// } // namespace ut_detail } // unit_test } // namespace boost //____________________________________________________________________________// #include
#endif // BOOST_TEST_TEST_CASE_TEMPLATE_HPP_071894GER
test_case_template.hpp
网页地址
文件地址
上一页
19/28
下一页
下载
( 5 KB )
Comments
Total ratings:
0
Average rating:
无评论
of 10
Would you like to comment?
Join now
, or
Logon
if you are already a member.