📄 trim_test.cpp
字号:
// Boost string_algo library trim_test.cpp file ---------------------------//// Copyright Pavol Droba 2002-2003. Use, modification and// distribution is subject to the Boost Software License, Version// 1.0. (See accompanying file LICENSE_1_0.txt or copy at// http://www.boost.org/LICENSE_1_0.txt)// See http://www.boost.org for updates, documentation, and revision history.#include <boost/algorithm/string/trim.hpp>// Include unit test framework#include <boost/test/included/test_exec_monitor.hpp>#include <string>#include <iostream>#include <boost/test/test_tools.hpp>using namespace std;using namespace boost;void trim_test(){ string str1(" 1x x x x1 "); string str2(" 2x x x x2 "); string str3(" "); // *** value passing tests *** // // general string test BOOST_CHECK( trim_left_copy( str1 )=="1x x x x1 " ) ; BOOST_CHECK( trim_right_copy( str1 )==" 1x x x x1" ) ; BOOST_CHECK( trim_copy( str1 )=="1x x x x1" ) ; // spaces-only string test BOOST_CHECK( trim_left_copy( str3 )=="" ); BOOST_CHECK( trim_right_copy( str3 )=="" ); BOOST_CHECK( trim_copy( str3 )=="" ); // empty string check BOOST_CHECK( trim_left_copy( string("") )=="" ); BOOST_CHECK( trim_right_copy( string("") )=="" ); BOOST_CHECK( trim_copy( string("") )=="" ); // iterator tests string str; trim_left_copy_if( std::back_inserter(str), str1, is_space() ); BOOST_CHECK( str=="1x x x x1 " ); str.clear(); trim_right_copy_if( std::back_inserter(str), str1, is_space() ); BOOST_CHECK( str==" 1x x x x1" ); str.clear(); trim_copy_if( std::back_inserter(str), str1, is_space() ); BOOST_CHECK( str=="1x x x x1" ); str.clear(); trim_left_copy_if( std::back_inserter(str), " 1x x x x1 ", is_space() ); BOOST_CHECK( str=="1x x x x1 " ); str.clear(); trim_right_copy_if( std::back_inserter(str), " 1x x x x1 ", is_space() ); BOOST_CHECK( str==" 1x x x x1" ); str.clear(); trim_copy_if( std::back_inserter(str), " 1x x x x1 ", is_space() ); BOOST_CHECK( str=="1x x x x1" ); // *** inplace tests *** // // general string test trim_left( str1 ); BOOST_CHECK( str1=="1x x x x1 " ); trim_right( str1 ); BOOST_CHECK( str1=="1x x x x1" ); trim( str2 ); BOOST_CHECK( str2=="2x x x x2" ); // spaces-only string test str3 = " "; trim_left( str3 ); BOOST_CHECK( str3=="" ); str3 = " "; trim_right( str3 ); BOOST_CHECK( str3=="" ); str3 = " "; trim( str3 ); BOOST_CHECK( str3=="" ); // empty string check str3 = ""; trim_left( str3 ); BOOST_CHECK( str3=="" ); str3 = ""; trim_right( str3 ); BOOST_CHECK( str3=="" ); str3 = ""; trim( str3 ); BOOST_CHECK( str3=="" ); // *** non-standard predicate tests *** // BOOST_CHECK( trim_copy_if( string("123abc456"), is_classified(std::ctype_base::digit) )=="abc" ); BOOST_CHECK( trim_copy_if( string("<>abc<>"), is_any_of( "<<>>" ) )=="abc" );}// test main int test_main( int, char*[] ){ trim_test(); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -