bstr_functions_unittest_.h

来自「用STL的方式封装了WindowsAPI、COM调用、ACE、ATL、MFC、W」· C头文件 代码 · 共 64 行

H
64
字号

// Updated:	14th June 2006

#if !defined(COMSTL_INCL_COMSTL_STRING_H_BSTR_FUNCTIONS)
# error This file cannot be directly included, and should only be included within comstl/string/bstr_functions.h
#endif /* !COMSTL_INCL_COMSTL_STRING_H_BSTR_FUNCTIONS */

#if !defined(STLSOFT_UNITTEST)
# error This file cannot be included when not unit-testing STLSoft
#endif /* !STLSOFT_UNITTEST */

namespace unittest
{
	namespace
	{
		ss_bool_t test_comstl_string_bstr_functions(unittest_reporter *r)
		{
			using stlsoft::unittest::unittest_initialiser;

			ss_bool_t				bSuccess	=	true;

			unittest_initialiser	init(r, "COMSTL", "string/bstr_functions", __FILE__);

			{
				BSTR	bstr1	=	bstr_create("Hello, Sailor!");
				BSTR	bstr2	=	bstr_create(L"Hello, Sailor!");

				if( NULL != bstr1 &&
					NULL != bstr2 &&
					0 != ::wcscmp(bstr1, bstr2))
				{
					r->report("BSTR (ANSI + Unicode) creation failed", __LINE__);
					bSuccess = false;
				}

				bstr_destroy(bstr1);
				bstr_destroy(bstr2);
			}

			{
				BSTR	bstr1	=	bstr_create("Hello, Sailor!", 5);
				BSTR	bstr2	=	bstr_create(L"Hello, Sailor!", 5);

				if( NULL != bstr1 &&
					NULL != bstr2 &&
					(	0 != ::wcscmp(bstr1, bstr2) ||
						0 != ::wcscmp(bstr1, L"Hello")))
				{
					r->report("BSTR (ANSI + Unicode) creation failed", __LINE__);
					bSuccess = false;
				}

				bstr_destroy(bstr1);
				bstr_destroy(bstr2);
			}

			return bSuccess;
		}

		unittest_registrar	  unittest_comstl_string_bstr_functions(test_comstl_string_bstr_functions);
	} // anonymous namespace

} // namespace unittest

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?