[詳解]
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