iutest  1.17.1.0
simple.cpp
//======================================================================
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
//======================================================================
#include "../include/iutest.hpp"
/* ---------------------------------------------------
* 簡単なテスト
*//*--------------------------------------------------*/
IUTEST(Test, Version)
{
unsigned long v = (IUTEST_MAJORVER << 24) | (IUTEST_MINORVER << 16) | (IUTEST_BUILD << 8) | IUTEST_REVISION;
}
IUTEST(Test, GetName)
{
IUTEST_ASSERT_STREQ("GetName", test_info_->name());
RecordProperty("test_name", ::iutest::UnitTest::GetInstance()->current_test_info()->name());
RecordProperty("number", 1);
}
IUTEST(Test, Stream)
{
IUTEST_SUCCEED() << "OK!!";
IUTEST_SUCCEED() << L"OK!!";
}
/* ---------------------------------------------------
* スキップ
*//*--------------------------------------------------*/
IUTEST(SkipTest, Skip)
{
IUTEST_SKIP() << "empty.";
}
#if IUTEST_HAS_ASSERTION_RETURN
/* ---------------------------------------------------
* 戻り値のある関数での使用
*//*--------------------------------------------------*/
int ReturnTest()
{
return 0;
}
IUTEST(ReturnTest, Test)
{
ReturnTest();
}
#endif
/* ---------------------------------------------------
* パッケージ
*//*--------------------------------------------------*/
IUTEST_PACKAGE(TestPackage)
{
IUTEST(Test, Version)
{
}
}
#if IUTEST_HAS_IF_EXISTS
IUTEST_PACKAGE(TestPackage)
{
IUTEST_PACKAGE(TestPackage)
{
IUTEST(Test, Version)
{
}
}
}
#endif
/* ---------------------------------------------------
* 失敗の確認
*//*--------------------------------------------------*/
#if IUTEST_HAS_GENRAND
IUTEST(DISABLED_TestFailure, Random)
{
IUTEST_EXPECT_EQ( genrand(), genrand() );
IUTEST_EXPECT_EQ( genrand(), genrand() );
IUTEST_EXPECT_EQ( genrand(), genrand() );
IUTEST_EXPECT_EQ( genrand(), genrand() );
IUTEST_EXPECT_EQ( genrand(), genrand() );
IUTEST_EXPECT_EQ( genrand(), genrand() );
}
#endif
// サブルーチン
static void Sub1(int n)
{
}
static void Sub2(int n)
{
}
IUTEST(DISABLED_TestFailure, Subroutine1)
{
{
int x=100;
IUTEST_SCOPED_TRACE(::iutest::Message() << "routine1. x=" << x);
Sub1(x);
}
// ここの失敗には "routine1." のメッセージは表示されません。
Sub1(3);
}
IUTEST(DISABLED_TestFailure, Subroutine2)
{
{
IUTEST_SCOPED_TRACE("routine2.");
#if !defined(IUTEST_USE_GTEST)
IUTEST_SCOPED_TRACE("routine2.") << "iutest can do.";
#endif
Sub2(2);
}
// ここの失敗には "routine2." のメッセージは表示されません。
Sub2(3);
}
class ProdClass
{
int m_x;
public:
ProdClass() : m_x(100) {}
int GetX() const { return m_x; }
};
IUTEST_MAKE_PEEP(int ProdClass::*, ProdClass, m_x);
IUTEST(ProdTest, Peep)
{
ProdClass c;
IUTEST_ASSERT_EQ(100, IUTEST_PEEP_GET(c, ProdClass, m_x));
}
iutest::AssertionReturn
AssertionReturnType< T > AssertionReturn(const T &ret)
Assetion Return 設定
Definition: iutest_assertion.hpp:169
iutest::UnitTest::GetInstance
static UnitTest * GetInstance()
UnitTest インスタンスの取得
Definition: iutest_core.hpp:41
IUTEST_SUCCEED
#define IUTEST_SUCCEED()
明示的な成功
Definition: iutest.hpp:175
IUTEST_SKIP
#define IUTEST_SKIP()
テストの明示的なスキップ
Definition: iutest.hpp:213
IUTEST_PEEP_GET
#define IUTEST_PEEP_GET(v, class_name, member_name)
private メンバーへのアクセス
Definition: iutest_prod.hpp:72
iutest::Message
detail::iuStreamMessage Message
Message クラス
Definition: iutest_assertion.hpp:31
IUTEST_BUILD
#define IUTEST_BUILD
Definition: iutest_ver.hpp:27
IUTEST_EXPECT_EQ
#define IUTEST_EXPECT_EQ(expected, actual)
== テスト
Definition: iutest.hpp:681
IUTEST_ASSERT_EQ
#define IUTEST_ASSERT_EQ(expected, actual)
== テスト
Definition: iutest.hpp:281
IUTEST_ASSERT_TRUE
#define IUTEST_ASSERT_TRUE(...)
TRUE テスト
Definition: iutest.hpp:342
IUTEST_ASSERT_STREQ
#define IUTEST_ASSERT_STREQ(expected_str, actual_str)
文字列の一致 テスト
Definition: iutest.hpp:444
IUTEST_MAJORVER
#define IUTEST_MAJORVER
Major Version
Definition: iutest_ver.hpp:22
IUTEST_MAKE_PEEP
#define IUTEST_MAKE_PEEP(member_type, class_name, member_name)
private メンバーへのアクセス権を作成
Definition: iutest_prod.hpp:63
IUTEST_SCOPED_TRACE
#define IUTEST_SCOPED_TRACE(msg)
スコープ内のテストメッセージへのメッセージ追加
Definition: iutest.hpp:167
IUTEST_PACKAGE
#define IUTEST_PACKAGE(name)
パッケージ名前空間の定義
Definition: iutest_package.hpp:26
IUTEST_REVISION
#define IUTEST_REVISION
Revision
Definition: iutest_ver.hpp:25
IUTEST_VER
#define IUTEST_VER
iutest version 1.17.1.0
Definition: iutest_ver.hpp:21
IUTEST_MINORVER
#define IUTEST_MINORVER
Minor Version
Definition: iutest_ver.hpp:23
IUTEST
#define IUTEST(testcase_, testname_)
テスト関数定義マクロ
Definition: iutest.hpp:66