]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/algorithm/string/test/conv_test.cpp
1 // Boost string_algo library conv_test.cpp file ---------------------------//
3 // Copyright Pavol Droba 2002-2003. Use, modification and
4 // distribution is subject to the Boost Software License, Version
5 // 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6 // http://www.boost.org/LICENSE_1_0.txt)
8 // See http://www.boost.org for updates, documentation, and revision history.
10 #include <boost/algorithm/string/case_conv.hpp>
12 // Include unit test framework
13 #define BOOST_TEST_MAIN
14 #include <boost/test/unit_test.hpp>
19 #include <boost/test/test_tools.hpp>
22 using namespace boost
;
26 string
str1("AbCdEfG 123 xxxYYYzZzZ");
27 string
str2("AbCdEfG 123 xxxYYYzZzZ");
29 const char pch
[]="AbCdEfG 123 xxxYYYzZzZ";
30 unsigned int pchlen
=sizeof(pch
);
32 char* pch1
=new char[pchlen
];
33 std::copy(pch
, pch
+pchlen
, pch1
);
34 char* pch2
=new char[pchlen
];
35 std::copy(pch
, pch
+pchlen
, pch2
);
37 // *** iterator tests *** //
40 to_lower_copy( back_inserter(strout
), str1
);
41 BOOST_CHECK( strout
=="abcdefg 123 xxxyyyzzzz" );
43 to_upper_copy( back_inserter(strout
), str1
);
44 BOOST_CHECK( strout
=="ABCDEFG 123 XXXYYYZZZZ" );
47 to_lower_copy( back_inserter(strout
), "AbCdEfG 123 xxxYYYzZzZ" );
48 BOOST_CHECK( strout
=="abcdefg 123 xxxyyyzzzz" );
50 to_upper_copy( back_inserter(strout
), "AbCdEfG 123 xxxYYYzZzZ" );
51 BOOST_CHECK( strout
=="ABCDEFG 123 XXXYYYZZZZ" );
54 to_lower_copy( back_inserter(strout
), pch1
);
55 BOOST_CHECK( strout
=="abcdefg 123 xxxyyyzzzz" );
57 to_upper_copy( back_inserter(strout
), pch1
);
58 BOOST_CHECK( strout
=="ABCDEFG 123 XXXYYYZZZZ" );
60 // *** value passing tests *** //
62 BOOST_CHECK( to_lower_copy( str1
)=="abcdefg 123 xxxyyyzzzz" );
63 BOOST_CHECK( to_upper_copy( str1
)=="ABCDEFG 123 XXXYYYZZZZ" );
65 BOOST_CHECK( to_lower_copy( str3
)=="" );
66 BOOST_CHECK( to_upper_copy( str3
)=="" );
68 // *** inplace tests *** //
71 BOOST_CHECK( str1
=="abcdefg 123 xxxyyyzzzz" );
73 BOOST_CHECK( str2
=="ABCDEFG 123 XXXYYYZZZZ" );
75 // c-string modification
77 BOOST_CHECK( string(pch1
)=="abcdefg 123 xxxyyyzzzz" );
79 BOOST_CHECK( string(pch2
)=="ABCDEFG 123 XXXYYYZZZZ" );
82 BOOST_CHECK( str3
=="" );
84 BOOST_CHECK( str3
=="" );
91 BOOST_AUTO_TEST_CASE( test_main
)