15 #ifndef INCG_IRIS_IUTEST_SUITE_HPP_0534E0BE_6BC4_4E99_80C0_56F441AD34ED_
16 #define INCG_IRIS_IUTEST_SUITE_HPP_0534E0BE_6BC4_4E99_80C0_56F441AD34ED_
34 :
public detail::iu_list_node<TestSuite>
39 #if IUTEST_USE_OWN_LIST
54 : m_testsuite_name(testsuite_name)
56 , m_teardown(teardown)
61 , m_start_timestamp(0)
62 , m_disable(detail::IsDisableTestName(testsuite_name))
74 const char*
name()
const {
return m_testsuite_name.c_str(); }
114 virtual const char*
type_param()
const {
return NULL; }
119 ::std::string str = m_testsuite_name;
122 str +=
", where TypeParam = ";
148 return &m_ad_hoc_testresult;
160 const char* ban[] = {
"name",
"tests",
"failures",
"disabled",
"skip",
"errors",
"time" };
161 #if !defined(IUTEST_NO_FUNCTION_TEMPLATE_ORDERING)
185 bool CheckSetUpSkipped();
197 bool operator () (
const TestSuite* p)
const
199 if( p->get_typeid() == m_id && detail::IsStringEqual(p->m_testsuite_name, m_name) )
220 return (lhs.m_id == rhs.m_id) && (strcmp(lhs.name(), rhs.name()) == 0);
223 void push_back(TestInfo* p) { m_testinfos.push_back(p); }
226 iuTestInfos::const_iterator begin()
const {
return m_testinfos.begin(); }
227 iuTestInfos::const_iterator end()
const {
return m_testinfos.end(); }
234 static bool IsSuccessfulTest(
const TestInfo* p) {
return p->is_ran() && p->Passed(); }
235 static bool IsFailedTest(
const TestInfo* p) {
return p->should_run() && p->HasFailure(); }
236 static bool IsSkipTest(
const TestInfo* p) {
return !p->is_ran() || p->is_skipped(); }
237 static bool IsReportableSkipTest(
const TestInfo* p) {
return p->is_reportable() && IsSkipTest(p); }
238 static bool IsRunSkippedTest(
const TestInfo* p) {
return p->should_run() && p->is_skipped(); }
239 static bool IsReportableRunSkippedTest(
const TestInfo* p) {
return p->is_reportable() && IsRunSkippedTest(p); }
240 static bool IsReportableDisabledTest(
const TestInfo* p) {
return p->is_reportable() && p->is_disabled_test(); }
243 friend class UnitTestImpl;
244 friend class UnitTest;
246 #if defined(IUTEST_NO_PRIVATE_IN_AGGREGATE)
247 friend struct FindOp;
250 ::std::string m_testsuite_name;
256 int m_should_run_num;
260 TestResult m_ad_hoc_testresult;
284 , m_type_param(detail::GetTypeNameProxy<
TypeParam>::GetTypeName())
292 return m_type_param.empty() ? NULL : m_type_param.c_str();
296 friend class UnitTestImpl;
298 ::std::string m_type_param;
307 class TestSuiteMediator
IUTEST_CXX_FINAL :
public detail::iuITestSuiteMediator
312 virtual const char* test_suite_name() const
IUTEST_CXX_OVERRIDE {
return m_test_suite->name(); }
313 virtual const char* type_param() const
IUTEST_CXX_OVERRIDE {
return m_test_suite->type_param(); }
320 # include "impl/iutest_suite.ipp"
T TypeParam
型
Definition: iutest_suite.hpp:273
::std::string AddDefaultPackageName(const char *testsuite_name)
default package name を追加
テスト情報クラス
Definition: iutest_info.hpp:38
bool HasWarning() const
警告があるかどうか
Definition: iutest_info.hpp:124
static bool ValidateName(const ::std::string &name, Ite begin, Ite end)
有効なキーかどうかチェック
Definition: iutest_result.hpp:193
テスト結果を示すクラス
Definition: iutest_result.hpp:216
bool Passed() const
成功したかどうか
Definition: iutest_result.hpp:227
bool HasWarning() const
警告があるかどうか
Definition: iutest_result.hpp:283
TestSuite
Definition: iutest_suite.hpp:37
::std::string testsuite_name_with_default_package_name() const
Definition: iutest_suite.hpp:130
int test_to_run_count() const IUTEST_CXX_NOEXCEPT_SPEC
Definition: iutest_suite.hpp:82
bool should_run() const IUTEST_CXX_NOEXCEPT_SPEC
Definition: iutest_suite.hpp:107
::std::vector< TestInfo * > iuTestInfos
TestInfo リスト
Definition: iutest_suite.hpp:43
int successful_test_count() const
int reportable_test_run_skipped_count() const
const TestInfo * GetTestInfo(int index) const
Definition: iutest_suite.hpp:105
int test_run_skipped_count() const
virtual const char * type_param() const
Definition: iutest_suite.hpp:115
TimeInMillisec start_timestamp() const IUTEST_CXX_NOEXCEPT_SPEC
Definition: iutest_suite.hpp:102
int failed_test_count() const
int reportable_test_count() const
int reportable_skip_test_count() const
bool Passed() const
Definition: iutest_suite.hpp:110
virtual ~TestSuite()
デストラクタ
Definition: iutest_suite.hpp:71
const char * name() const
Definition: iutest_suite.hpp:75
int disabled_test_count() const IUTEST_CXX_NOEXCEPT_SPEC
Definition: iutest_suite.hpp:86
TestSuite(const ::std::string &testsuite_name, TestTypeId id, SetUpMethod setup, TearDownMethod teardown)
コンストラクタ
Definition: iutest_suite.hpp:54
const TestResult * ad_hoc_testresult() const IUTEST_CXX_NOEXCEPT_SPEC
テスト実行中じゃないときのリザルトの取得
Definition: iutest_suite.hpp:139
TimeInMillisec elapsed_time() const IUTEST_CXX_NOEXCEPT_SPEC
Definition: iutest_suite.hpp:100
const TestResult * ad_hoc_test_result() const IUTEST_CXX_NOEXCEPT_SPEC
テスト実行中じゃないときのリザルトの取得
Definition: iutest_suite.hpp:147
int skip_test_count() const
int total_test_count() const IUTEST_CXX_NOEXCEPT_SPEC
Definition: iutest_suite.hpp:78
static bool ValidateTestPropertyName(const ::std::string &name)
有効なプロパティ名かどうかチェック
Definition: iutest_suite.hpp:159
bool Failed() const
Definition: iutest_suite.hpp:112
::std::string testsuite_name_with_where() const
Definition: iutest_suite.hpp:118
int reportable_disabled_test_count() const
#define IUTEST_USE_OWN_LIST
テストの所持を独自リストクラスで行う
Definition: iutest_config.hpp:697
#define IUTEST_CXX_FINAL
final definition
Definition: iutest_compiler.hpp:756
#define IUTEST_CXX_OVERRIDE
override definition
Definition: iutest_compiler.hpp:747
#define IUTEST_CXX_NOEXCEPT_SPEC
noexcept specification definition
Definition: iutest_compiler.hpp:811
#define IUTEST_PP_DISALLOW_COPY_AND_ASSIGN(TypeName)
コピー禁止定義
Definition: iutest_pp.hpp:31
iutest root namespace
Definition: iutest_charcode.hpp:33
detail::type_least_t< 8 >::UInt TimeInMillisec
ミリ秒単位を扱う型
Definition: iutest_defs.hpp:526
void(* SetUpMethod)()
SetUp 関数型
Definition: iutest_defs.hpp:523
void(* TearDownMethod)()
TearDown 関数型
Definition: iutest_defs.hpp:524
internal::TypeId TestTypeId
テスト識別型
Definition: iutest_defs.hpp:521