[詳解]
   15 #ifndef INCG_IRIS_IUTEST_CASE_HPP_F57C9B7E_7CAA_4429_BE75_FCAAEED1B220_ 
   16 #define INCG_IRIS_IUTEST_CASE_HPP_F57C9B7E_7CAA_4429_BE75_FCAAEED1B220_ 
   32     : 
public detail::iu_list_node<TestCase>
 
   37 #if IUTEST_USE_OWN_LIST 
   52     : m_testcase_name(testcase_name)
 
   54     , m_teardown(teardown)
 
   59     , m_start_timestamp(0)
 
   60     , m_disable(detail::IsDisableTestName(testcase_name))
 
   72     const char*     
name()
                  const { 
return m_testcase_name.c_str(); }
 
  112     virtual const char* 
type_param()
        const { 
return NULL; }
 
  117         ::std::string str = m_testcase_name;
 
  120             str += 
", where TypeParam = ";
 
  146         return &m_ad_hoc_testresult;
 
  158         const char* ban[] = { 
"name", 
"tests", 
"failures", 
"disabled", 
"skip", 
"errors", 
"time" };
 
  159 #if !defined(IUTEST_NO_FUNCTION_TEMPLATE_ORDERING) 
  183     bool CheckSetUpSkipped();
 
  195         bool operator () (
const TestCase* p)
 const 
  197             if( p->get_typeid() == m_id && detail::IsStringEqual(p->m_testcase_name, m_name) )
 
  218         return (lhs.m_id == rhs.m_id) && (strcmp(lhs.name(), rhs.name()) == 0);
 
  221     void push_back(TestInfo* p) { m_testinfos.push_back(p); }
 
  224     iuTestInfos::const_iterator begin()
 const       { 
return m_testinfos.begin(); }
 
  225     iuTestInfos::const_iterator end()
   const       { 
return m_testinfos.end(); }
 
  232     static bool IsSuccessfulTest(
const TestInfo* p) { 
return p->is_ran() && p->Passed(); }
 
  233     static bool IsFailedTest(
const TestInfo* p) { 
return p->should_run() && p->HasFailure(); }
 
  234     static bool IsSkipTest(
const TestInfo* p) { 
return !p->is_ran() || p->is_skipped(); }
 
  235     static bool IsReportableSkipTest(
const TestInfo* p) { 
return p->is_reportable() && IsSkipTest(p); }
 
  236     static bool IsRunSkippedTest(
const TestInfo* p) { 
return p->should_run() && p->is_skipped(); }
 
  237     static bool IsReportableRunSkippedTest(
const TestInfo* p) { 
return p->is_reportable() && IsRunSkippedTest(p); }
 
  238     static bool IsReportableDisabledTest(
const TestInfo* p) { 
return p->is_reportable() && p->is_disabled_test(); }
 
  241     friend class UnitTestImpl;
 
  242     friend class UnitTest;
 
  244 #if defined(IUTEST_NO_PRIVATE_IN_AGGREGATE) 
  245     friend struct FindOp;
 
  248     ::std::string   m_testcase_name;    
 
  254     int             m_should_run_num;   
 
  258     TestResult      m_ad_hoc_testresult;    
 
  267 class TypedTestCase : 
public TestCase
 
  282         , m_type_param(detail::GetTypeNameProxy<
TypeParam>::GetTypeName())
 
  290         return m_type_param.empty() ? NULL : m_type_param.c_str();
 
  294     friend class UnitTestImpl;
 
  296     ::std::string m_type_param;     
 
  305 class TestCaseMediator 
IUTEST_CXX_FINAL : 
public detail::iuITestCaseMediator
 
  310     virtual const char* test_case_name() const 
IUTEST_CXX_OVERRIDE { 
return m_test_case->name(); }
 
  311     virtual const char* type_param()     const 
IUTEST_CXX_OVERRIDE { 
return m_test_case->type_param(); }
 
  318 #  include "impl/iutest_case.ipp" 
  321 #endif // INCG_IRIS_IUTEST_CASE_HPP_F57C9B7E_7CAA_4429_BE75_FCAAEED1B220_ 
  
const TestResult * ad_hoc_test_result() const IUTEST_CXX_NOEXCEPT_SPEC
テスト実行中じゃないときのリザルトの取得
Definition: iutest_case.hpp:145
テスト結果を示すクラス
Definition: iutest_result.hpp:213
int reportable_skip_test_count() const
int successful_test_count() const
::std::string AddDefaultPackageName(const char *testcase_name)
default package name を追加
virtual const char * type_param() const
Definition: iutest_case.hpp:113
テスト情報クラス
Definition: iutest_info.hpp:32
bool HasWarning() const
警告があるかどうか
Definition: iutest_info.hpp:119
#define IUTEST_USE_OWN_LIST
テストの所持を独自リストクラスで行う
Definition: iutest_config.hpp:700
bool Passed() const
Definition: iutest_case.hpp:108
int reportable_disabled_test_count() const
#define IUTEST_CXX_NOEXCEPT_SPEC
noexcept specification definition
Definition: iutest_compiler.hpp:734
int failed_test_count() const
::std::string testcase_name_with_default_package_name() const
Definition: iutest_case.hpp:128
T TypeParam
型
Definition: iutest_case.hpp:271
int test_run_skipped_count() const
iutest root namespace
Definition: iutest_charcode.hpp:31
::std::vector< TestInfo * > iuTestInfos
TestInfo リスト
Definition: iutest_case.hpp:41
#define IUTEST_CXX_FINAL
final definition
Definition: iutest_compiler.hpp:679
int disabled_test_count() const IUTEST_CXX_NOEXCEPT_SPEC
Definition: iutest_case.hpp:84
型つきテストケース
Definition: iutest_case.hpp:268
bool HasWarning() const
警告があるかどうか
Definition: iutest_result.hpp:281
TypedTestCase(const ::std::string &testcase_name, TestTypeId id, SetUpMethod setup, TearDownMethod teardown)
コンストラクタ
Definition: iutest_case.hpp:281
::std::string testcase_name_with_where() const
Definition: iutest_case.hpp:116
const TestInfo * GetTestInfo(int index) const
Definition: iutest_case.hpp:103
internal::TypeId TestTypeId
テスト識別型
Definition: iutest_defs.hpp:440
virtual ~TestCase()
デストラクタ
Definition: iutest_case.hpp:69
const TestResult * ad_hoc_testresult() const IUTEST_CXX_NOEXCEPT_SPEC
テスト実行中じゃないときのリザルトの取得
Definition: iutest_case.hpp:137
#define IUTEST_CXX_OVERRIDE
override definition
Definition: iutest_compiler.hpp:670
TimeInMillisec start_timestamp() const IUTEST_CXX_NOEXCEPT_SPEC
Definition: iutest_case.hpp:100
TestCase(const ::std::string &testcase_name, TestTypeId id, SetUpMethod setup, TearDownMethod teardown)
コンストラクタ
Definition: iutest_case.hpp:52
int skip_test_count() const
int reportable_test_count() const
int reportable_test_run_skipped_count() const
#define IUTEST_PP_DISALLOW_COPY_AND_ASSIGN(TypeName)
コピー禁止定義
Definition: iutest_pp.hpp:25
virtual const char * type_param() const IUTEST_CXX_OVERRIDE
Definition: iutest_case.hpp:289
bool Failed() const
Definition: iutest_case.hpp:110
TimeInMillisec elapsed_time() const IUTEST_CXX_NOEXCEPT_SPEC
Definition: iutest_case.hpp:98
static bool ValidateTestPropertyName(const ::std::string &name)
有効なプロパティ名かどうかチェック
Definition: iutest_case.hpp:157
detail::type_least_t< 8 >::UInt TimeInMillisec
ミリ秒単位を扱う型
Definition: iutest_defs.hpp:445
void(* TearDownMethod)()
TearDown 関数型
Definition: iutest_defs.hpp:443
bool should_run() const IUTEST_CXX_NOEXCEPT_SPEC
Definition: iutest_case.hpp:105
void(* SetUpMethod)()
SetUp 関数型
Definition: iutest_defs.hpp:442
static bool ValidateName(const ::std::string &name, Ite begin, Ite end)
有効なキーかどうかチェック
Definition: iutest_result.hpp:191
int total_test_count() const IUTEST_CXX_NOEXCEPT_SPEC
Definition: iutest_case.hpp:76
const char * name() const
Definition: iutest_case.hpp:73
テストケース
Definition: iutest_case.hpp:31
int test_to_run_count() const IUTEST_CXX_NOEXCEPT_SPEC
Definition: iutest_case.hpp:80
bool Passed() const
成功したかどうか
Definition: iutest_result.hpp:225