#include "../include/iutest.hpp"
int f()
{
return 42;
}
{
}
IUTEST(AssertionTest, NoFailure)
{
}
{
int x0=0, y0=0, x1=1;
float f0=0.0f, f1=1.0f;
double d0=0.0, d1=1.0;
{
}
{
int* zero=NULL;
::std::vector<int> v1, v2;
}
{
int* one=reinterpret_cast<int*>(1);
}
{
}
{
}
{
}
{
}
}
{
{
int* p1 = NULL;
void* p2 = &p1;
}
{
int v = 0;
int* p1 = &v;
}
{
int aa[] ={ 0, 1, 2, 3, 4 };
int ab[] ={ 0, 1, 2, 3, 4 };
#if !defined(IUTEST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
#endif
}
{
int aa[] ={ 0, 1, 2, 3, 4 };
int ab[] ={ 9, 1, 2, 3, 4 };
#if !defined(IUTEST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
#endif
}
}
#if !defined(IUTEST_USE_GTEST)
#if IUTEST_HAS_ASSERTION_NOEQUALTO_OBJECT
struct TestObjectX
{
int a, b, c;
};
IUTEST(AssertionTest, MemCmpEQ)
{
TestObjectX x={ 0, 1, 2 };
TestObjectX y={ 0, 1, 2 };
}
#endif
#endif
{
#if IUTEST_HAS_CHAR16_T
const char16_t c16[] = u"test";
#endif
#if IUTEST_HAS_CHAR32_T
const char32_t c32[] = U"test";
#endif
}
{
const char mbs[] = "test";
const wchar_t wcs[] = L"test";
{
::std::string str1 = "test";
}
{
::std::string str1 = "tEst";
::std::string str2 = "teSt";
::std::string str3 = "hoSt";
}
}
#if defined(IUTEST_OS_WINDOWS)
IUTEST(AssertionTest, HResult)
{
IUTEST_EXPECT_HRESULT_SUCCEEDED(0);
IUTEST_EXPECT_HRESULT_FAILED(-1);
}
#endif
static bool IsOdd(int val)
{
return (val & 1) != 0;
}
static bool IsGreater(int a, int b)
{
return a > b;
}
static bool PredTest3(int , int , int )
{
return true;
}
static bool PredTest4(int , int , int , int )
{
return true;
}
static bool PredTest5(int , int , int , int , int )
{
return true;
}
{
}
#if IUTEST_HAS_STATIC_ASSERT_TYPEEQ
{
}
#endif
#if IUTEST_HAS_REGEX
{
const char test [] = "te0123st";
IUTEST_ASSERT_MATCHES_REGEXEQ("te[0-9]*st", test);
}
#endif
IUTEST(DISABLED_TestFailure, Expression)
{
}
IUTEST(DISABLED_TestFailure, EQ)
{
}
IUTEST(DISABLED_TestFailure, NE)
{
int x=1, y=1;
}
IUTEST(DISABLED_TestFailure, GE)
{
float a = 0.1f, b = 1.0f;
}
IUTEST(DISABLED_TestFailure, TRUE)
{
}
IUTEST(DISABLED_TestFailure, FALSE)
{
}
IUTEST(DISABLED_TestFailure, Fail)
{
}
#if defined(IUTEST_OS_WINDOWS)
IUTEST(DISABLED_TestFailure, HRESULT)
{
IUTEST_ASSERT_HRESULT_SUCCEEDED(E_OUTOFMEMORY);
}
#endif
void AssertFunc()
{
}
IUTEST(DISABLED_TestFailure, NoFailure)
{
}
IUTEST(DISABLED_TestFailure, Pred)
{
int x=4, y=5;
}
IUTEST(DISABLED_TestFailure, Mix)
{
{
::std::string str1 = "test";
::std::string str2 = "text";
}
{
int aa[] = { 0, 1, 2, 3, 4 };
int ab[] = { 0, 1, 2, 3, 4, 5 };
char ac[] = { 0, 0, 2, 3, 5 };
}
}
#define IUTEST_ASSERT_NO_FATAL_FAILURE(statement)
no new fatal failure テスト
Definition: iutest.hpp:647
#define IUTEST_ASSERT_EQ(expected, actual)
== テスト
Definition: iutest.hpp:308
#define IUTEST_ASSERT_NO_FAILURE(statement)
no new failure テスト
Definition: iutest.hpp:637
#define IUTEST_ASSERT_GE(v1, v2)
>= テスト
Definition: iutest.hpp:351
#define IUTEST_ASSERT_TRUE(...)
TRUE テスト
Definition: iutest.hpp:369
#define IUTEST_ASSERT_FALSE(...)
FALSE テスト
Definition: iutest.hpp:381
#define IUTEST_ASSERT_NE(v1, v2)
!= テスト
Definition: iutest.hpp:327
#define IUTEST_ASSUME_EQ(expected, actual)
== テスト
Definition: iutest.hpp:1542
#define IUTEST_EXPECT_PRED2(pred, v1, v2)
述語 ASSERTION テスト
Definition: iutest_pred.hpp:111
#define IUTEST_EXPECT_FAIL()
明示的な失敗
Definition: iutest.hpp:1067
#define IUTEST_EXPECT_NE(v1, v2)
!= テスト
Definition: iutest.hpp:738
#define IUTEST_EXPECT_STRLNEQ(len, v2)
文字列長の一致 テスト
Definition: iutest_util_assertion.hpp:205
#define IUTEST_EXPECT(...)
式アサーション
Definition: iutest.hpp:681
#define IUTEST_EXPECT_NE_COLLECTIONS(b1, e1, b2, e2)
== テスト(collection)
Definition: iutest_util_assertion.hpp:90
#define IUTEST_EXPECT_PRED1(pred, v1)
述語 ASSERTION テスト
Definition: iutest_pred.hpp:42
#define IUTEST_EXPECT_STRCASENE(v1, v2)
文字列の不一致(大文字小文字区別なし) テスト
Definition: iutest.hpp:921
#define IUTEST_EXPECT_NOTNULL(...)
NOT NULL テスト
Definition: iutest.hpp:817
#define IUTEST_EXPECT_EQ_COLLECTIONS(b1, e1, b2, e2)
== テスト(collection)
Definition: iutest_util_assertion.hpp:45
#define IUTEST_EXPECT_PRED5(pred, v1, v2, v3, v4, v5)
述語 ASSERTION テスト
Definition: iutest_pred.hpp:367
#define IUTEST_EXPECT_GE(v1, v2)
>= テスト
Definition: iutest.hpp:762
#define IUTEST_EXPECT_TRUE(...)
TRUE テスト
Definition: iutest.hpp:780
#define IUTEST_EXPECT_EQ_RANGE(expected, actual)
== テスト(range)
Definition: iutest_util_assertion.hpp:131
#define IUTEST_EXPECT_NULL(...)
NULL テスト
Definition: iutest.hpp:805
#define IUTEST_EXPECT_EQ(expected, actual)
== テスト
Definition: iutest.hpp:719
#define IUTEST_EXPECT_NE_RANGE(expected, actual)
== テスト(range)
Definition: iutest_util_assertion.hpp:168
#define IUTEST_EXPECT_FALSE(...)
FALSE テスト
Definition: iutest.hpp:792
#define IUTEST_EXPECT_PRED4(pred, v1, v2, v3, v4)
述語 ASSERTION テスト
Definition: iutest_pred.hpp:273
#define IUTEST_EXPECT_DOUBLE_EQ(expected, actual)
double の比較 テスト
Definition: iutest.hpp:848
#define IUTEST_EXPECT_NO_FATAL_FAILURE(statement)
no new fatal failure テスト
Definition: iutest.hpp:1058
#define IUTEST_EXPECT_LT(v1, v2)
< テスト
Definition: iutest.hpp:754
#define IUTEST_EXPECT_FLOAT_EQ(expected, actual)
float の比較 テスト
Definition: iutest.hpp:839
#define IUTEST_EXPECT_NEAR(v1, v2, abs_v)
2値の差の範囲 テスト
Definition: iutest.hpp:883
#define IUTEST_EXPECT_LE(v1, v2)
<= テスト
Definition: iutest.hpp:746
#define IUTEST_EXPECT_STRCASEEQ(expected_str, actual_str)
文字列の一致(大文字小文字区別なし) テスト
Definition: iutest.hpp:912
#define IUTEST_EXPECT_STREQ(expected_str, actual_str)
文字列の一致 テスト
Definition: iutest.hpp:893
#define IUTEST_EXPECT_NOT(...)
式アサーション
Definition: iutest.hpp:693
#define IUTEST_EXPECT_PRED3(pred, v1, v2, v3)
述語 ASSERTION テスト
Definition: iutest_pred.hpp:188
#define IUTEST_EXPECT_SAME(v1, v2)
アドレス一致 テスト
Definition: iutest.hpp:829
#define IUTEST_EXPECT_STRNE(v1, v2)
文字列の不一致 テスト
Definition: iutest.hpp:902
#define IUTEST_EXPECT_GT(v1, v2)
> テスト
Definition: iutest.hpp:770
#define IUTEST_INFORM_NO_FATAL_FAILURE(statement)
no new fatal failure テスト
Definition: iutest.hpp:1478
#define IUTEST_FAIL()
明示的な失敗
Definition: iutest.hpp:211
detail::EqMatcher< T > Eq(const T &expected)
Make Eq matcher
Definition: iutest_matcher.hpp:1924
#define IUTEST(testsuite_, testname_)
テスト関数定義マクロ
Definition: iutest.hpp:72
#define IUTEST_EXPRESSION(expr)
式展開用マクロ
Definition: iutest_expression_assertion.hpp:31