IUTEST_TYPED_TEST(StrTest, String) { typename TestFixture::String test1 = TestFixture::Text::test; typename TestFixture::String test2 = TestFixture::Text::test; IUTEST_ASSERT_STREQ(test1, TestFixture::Text::test); IUTEST_EXPECT_STREQ(test1, TestFixture::Text::test); IUTEST_INFORM_STREQ(test1, TestFixture::Text::test); IUTEST_ASSERT_STREQ(test1, test2); IUTEST_EXPECT_STREQ(test1, test2); IUTEST_INFORM_STREQ(test1, test2); IUTEST_ASSERT_STREQ(TestFixture::Text::test, test2); IUTEST_EXPECT_STREQ(TestFixture::Text::test, test2); IUTEST_INFORM_STREQ(TestFixture::Text::test, test2); typename TestFixture::String Test = TestFixture::Text::Test; IUTEST_ASSERT_STRNE(test1, Test); IUTEST_EXPECT_STRNE(test1, Test); IUTEST_INFORM_STRNE(test1, Test); IUTEST_ASSERT_STRNE(TestFixture::Text::test, Test); IUTEST_EXPECT_STRNE(TestFixture::Text::test, Test); IUTEST_INFORM_STRNE(TestFixture::Text::test, Test); IUTEST_ASSERT_STRNE(test1, TestFixture::Text::Test); IUTEST_EXPECT_STRNE(test1, TestFixture::Text::Test); IUTEST_INFORM_STRNE(test1, TestFixture::Text::Test); }
IUTEST(FlagTest, Check) { if( g_dummy != 0 ) return; // putenv に失敗した場合はテストしない #if !defined(IUTEST_USE_GTEST) IUTEST_EXPECT_STREQ( "no", ::iutest::IUTEST_FLAG(color).c_str() ); #endif IUTEST_EXPECT_STREQ("*Run*:*OK*", ::iutest::IUTEST_FLAG(filter).c_str() ); }
IUTEST(AssertionTest, Cpp11) { #if IUTEST_HAS_CHAR16_T const char16_t c16[] = u"test"; IUTEST_EXPECT_STREQ(c16, u"test"); #endif #if IUTEST_HAS_CHAR32_T const char32_t c32[] = U"test"; IUTEST_EXPECT_STREQ(c32, U"test"); #endif }
IUTEST(DISABLED_TestFailure, Mix) { IUTEST_EXPECT_EQ(0.1, 1); IUTEST_EXPECT_NE(0, 0); IUTEST_EXPECT_LE(2, 0); IUTEST_EXPECT_LT(0, 0); IUTEST_EXPECT_GE(0, 2); IUTEST_EXPECT_GT(0, 0); IUTEST_EXPECT_TRUE(0); IUTEST_EXPECT_FALSE(1); IUTEST_EXPECT_FLOAT_EQ(0.0f, 0.1f); IUTEST_EXPECT_DOUBLE_EQ(0.0, 0.1); IUTEST_EXPECT_NEAR(0, 100, 2); IUTEST_EXPECT_FAIL(); { ::std::string str1 = "test"; ::std::string str2 = "text"; IUTEST_EXPECT_STREQ("text", str1); IUTEST_EXPECT_STRNE("text", str2); IUTEST_EXPECT_STRCASEEQ("Text", str1); IUTEST_EXPECT_STRCASENE("Text", str2); } // EQ_COLLECTIONS { int aa[] = { 0, 1, 2, 3, 4 }; int ab[] = { 0, 1, 2, 3, 4, 5 }; char ac[] = { 0, 0, 2, 3, 5 }; IUTEST_EXPECT_EQ_COLLECTIONS(aa, aa+(sizeof(aa)/sizeof(aa[0])), ab, ab+(sizeof(ab)/sizeof(ab[0]))); IUTEST_EXPECT_EQ_COLLECTIONS(ab, ab+(sizeof(ab)/sizeof(ab[0])), aa, aa+(sizeof(aa)/sizeof(aa[0]))); IUTEST_EXPECT_EQ_COLLECTIONS(aa, aa+(sizeof(aa)/sizeof(aa[0])), ac, ac+(sizeof(ac)/sizeof(ac[0]))); } }
IUTEST_TYPED_TEST(TypedTestAliasName, Test1) { IUTEST_EXPECT_STREQ("AliasName", ::iuutil::TestCaseNameRemoveIndexName( ::iutest::UnitTest::GetInstance()->current_test_info()->test_case_name()) ); TypeParam x = 1; IUTEST_ASSERT_EQ(x+x, 2*x); }
IUTEST_TYPED_TEST(StrTest, Raw) { const TypeParam* p = TestFixture::Text::test; IUTEST_ASSERT_STREQ(TestFixture::Text::test, p); IUTEST_EXPECT_STREQ(TestFixture::Text::test, p); IUTEST_INFORM_STREQ(TestFixture::Text::test, p); IUTEST_ASSERT_STRNE(TestFixture::Text::Test, p); IUTEST_EXPECT_STRNE(TestFixture::Text::Test, p); IUTEST_INFORM_STRNE(TestFixture::Text::Test, p); }
IUTEST(SyntaxTest, StrEq) { const char test[] = "test"; if( const char* p = "test" ) IUTEST_ASSERT_STREQ(p, test) << p; if( const char* p = "test" ) IUTEST_EXPECT_STREQ(p, test) << p; if( const char* p = "test" ) IUTEST_INFORM_STREQ(p, test) << p; if( const char* p = "test" ) IUTEST_ASSUME_STREQ(p, test) << p; }
int main(int argc, char* argv[]) #endif { IUTEST_INIT(&argc, argv); #if defined(OUTPUTXML) // 失敗テストを含むので xml 出力しない ::iutest::IUTEST_FLAG(output) = NULL; #endif #if !defined(IUTEST_USE_GTEST) ::iutest::TAPPrintListener::SetUp(); TestLogger logger; ::iutest::detail::iuConsole::SetLogger(&logger); #endif { if( IUTEST_RUN_ALL_TESTS() != 0 ) return 1; #if !defined(IUTEST_USE_GTEST) IUTEST_EXPECT_STREQ(tap_test_str, logger.c_str()); logger.clear(); #endif if( ::iutest::UnitTest::GetInstance()->Failed() ) return 1; } { ::iutest::IUTEST_FLAG(filter) = "*Hoge*"; ::iutest::IUTEST_FLAG(also_run_disabled_tests) = false; if( IUTEST_RUN_ALL_TESTS() != 0 ) return 1; #if !defined(IUTEST_USE_GTEST) && IUTEST_HAS_ASSERTION_RETURN IUTEST_EXPECT_STRIN("*Hoge*", logger.c_str()) << ::iutest::AssertionReturn<int>(1); logger.clear(); #endif } { ::iutest::IUTEST_FLAG(filter) = NULL; ::iutest::IUTEST_FLAG(also_run_disabled_tests) = true; if( IUTEST_RUN_ALL_TESTS() == 0 ) return 1; #if !defined(IUTEST_USE_GTEST) && IUTEST_HAS_ASSERTION_RETURN IUTEST_EXPECT_STRIN("not ok", logger.c_str()) << ::iutest::AssertionReturn<int>(1); IUTEST_EXPECT_STRIN("show failed., test.", logger.c_str()) << ::iutest::AssertionReturn<int>(1); logger.clear(); #endif } printf("*** Successful ***\n"); return 0; }
IUTEST_TYPED_TEST(StrTest, Null) { TypeParam* p=NULL; IUTEST_ASSERT_STREQ(NULL, p); IUTEST_EXPECT_STREQ(NULL, p); IUTEST_INFORM_STREQ(NULL, p); IUTEST_ASSERT_STRNE(TestFixture::Text::test, NULL); IUTEST_EXPECT_STRNE(TestFixture::Text::test, NULL); IUTEST_INFORM_STRNE(TestFixture::Text::test, NULL); IUTEST_ASSERT_STRNE(NULL, TestFixture::Text::test); IUTEST_EXPECT_STRNE(NULL, TestFixture::Text::test); IUTEST_INFORM_STRNE(NULL, TestFixture::Text::test); }
IUTEST(AssertionTest, String) { const char mbs[] = "test"; const wchar_t wcs[] = L"test"; IUTEST_EXPECT_STREQ( "test", mbs); IUTEST_EXPECT_STREQ(L"test", wcs); IUTEST_EXPECT_STRNE( "host", mbs); IUTEST_EXPECT_STRNE(L"host", wcs); IUTEST_EXPECT_STRLNEQ(4, mbs); IUTEST_EXPECT_STRLNEQ(4, wcs); { ::std::string str1 = "test"; IUTEST_EXPECT_EQ(str1, "test"); IUTEST_EXPECT_NE(str1, "host"); } { ::std::string str1 = "tEst"; ::std::string str2 = "teSt"; ::std::string str3 = "hoSt"; IUTEST_EXPECT_STRCASEEQ("TeSt", mbs); IUTEST_EXPECT_STRCASEEQ("TeSt", str1); IUTEST_EXPECT_STRCASEEQ(str1, "TeSt"); IUTEST_EXPECT_STRCASEEQ(str1, str2); IUTEST_EXPECT_STRCASENE("HoSt", mbs); IUTEST_EXPECT_STRCASENE("HoSt", str1); IUTEST_EXPECT_STRCASENE(str1, "HoSt"); IUTEST_EXPECT_STRCASENE(str1, str3); } }
IUTEST_P(ParamTestAliasName, Test2) { IUTEST_EXPECT_STREQ("AliasName", ::iuutil::TestCaseNameRemoveInstantiateAndIndexName( ::iutest::UnitTest::GetInstance()->current_test_info()->test_case_name()) ); }