charset_tokeniser_unittest_.h

来自「新版本TR1的stl」· C头文件 代码 · 共 82 行

H
82
字号

// Updated: 18th January 2007

#if !defined(STLSOFT_INCL_STLSOFT_STRING_HPP_CHARSET_TOKENISER)
# error This file cannot be directly included, and should only be included within stlsoft/string/charset_tokeniser.hpp
#endif /* !STLSOFT_INCL_STLSOFT_STRING_HPP_CHARSET_TOKENISER */

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

namespace unittest
{
#if !defined(STLSOFT_COMPILER_IS_WATCOM)

	namespace
	{
		ss_bool_t test_stlsoft_string_charset_tokeniser_1(unittest_reporter *r)
		{
			ss_bool_t				bSuccess	=	true;

			typedef charset_tokeniser<simple_string>	tokeniser_t;

			static const char	str1[]	=	";abc|:def,ghi;hjk;:|lmn;:|";

			tokeniser_t tokens(str1, ":;|,");

			if(5 != stlsoft_ns_qual_std(distance(tokens.begin(), tokens.end())))
			{
				r->report("charset_tokeniser wrong number of tokens (skipping blanks)", __LINE__);
				bSuccess = false;
			}

			return bSuccess;
		}

		ss_bool_t test_stlsoft_string_charset_tokeniser_2(unittest_reporter *r)
		{
			ss_bool_t				bSuccess	=	true;

			typedef charset_tokeniser<simple_wstring, skip_blank_tokens<false> >	tokeniser_t;

			static const wchar_t	str1[]	=	L";abc|:def,ghi;hjk;:|lmn;:|";

			tokeniser_t tokens(str1, L":;|,");

			if(11 != stlsoft_ns_qual_std(distance(tokens.begin(), tokens.end())))
			{
				r->report("charset_tokeniser wrong number of tokens (preserving blanks)", __LINE__);
				bSuccess = false;
			}

			return bSuccess;
		}

		ss_bool_t test_stlsoft_string_charset_tokeniser(unittest_reporter *r)
		{
			ss_bool_t				bSuccess	=	true;

			unittest_initialiser	init(r, "STLSoft", "string/charset_tokeniser", __FILE__);

			if(!test_stlsoft_string_charset_tokeniser_1(r))
			{
				bSuccess = false;
			}

			if(!test_stlsoft_string_charset_tokeniser_2(r))
			{
				bSuccess = false;
			}

			return bSuccess;
		}

		unittest_registrar	  unittest_stlsoft_string_charset_tokeniser(test_stlsoft_string_charset_tokeniser);
	} // anonymous namespace

#endif /* compiler */

} // namespace unittest

⌨️ 快捷键说明

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