| 1 | #define BOOST_AUTO_TEST_MAIN
|
|---|
| 2 |
|
|---|
| 3 | #include <boost/test/auto_unit_test.hpp>
|
|---|
| 4 | #include "const_string.hpp"
|
|---|
| 5 |
|
|---|
| 6 | BOOST_AUTO_TEST_CASE( constructors_test )
|
|---|
| 7 | {
|
|---|
| 8 | const_string cs0( "" ); // 1 //
|
|---|
| 9 | BOOST_CHECK_EQUAL( cs0.length(), (size_t)0 );
|
|---|
| 10 | BOOST_CHECK( cs0.is_empty() );
|
|---|
| 11 |
|
|---|
| 12 | const_string cs01( NULL ); // 2 //
|
|---|
| 13 | BOOST_CHECK_EQUAL( cs01.length(), (size_t)0 );
|
|---|
| 14 | BOOST_CHECK( cs01.is_empty() );
|
|---|
| 15 |
|
|---|
| 16 | const_string cs1( "test_string" ); // 3 //
|
|---|
| 17 | BOOST_CHECK_EQUAL( std::strcmp( cs1.data(), "test_string" ), 0 );
|
|---|
| 18 | BOOST_CHECK_EQUAL( cs1.length(), std::strlen("test_string") );
|
|---|
| 19 |
|
|---|
| 20 | std::string s( "test_string" ); // 4 //
|
|---|
| 21 | const_string cs2( s );
|
|---|
| 22 | BOOST_CHECK_EQUAL( std::strcmp( cs2.data(), "test_string" ), 0 );
|
|---|
| 23 |
|
|---|
| 24 | const_string cs3( cs1 ); // 5 //
|
|---|
| 25 | BOOST_CHECK_EQUAL( std::strcmp( cs1.data(), "test_string" ), 0 );
|
|---|
| 26 |
|
|---|
| 27 | const_string cs4( "test_string", 4 ); // 6 //
|
|---|
| 28 | BOOST_CHECK_EQUAL( std::strncmp( cs4.data(), "test", cs4.length() ), 0 );
|
|---|
| 29 |
|
|---|
| 30 | const_string cs5( s.data(), s.data() + s.length() ); // 7 //
|
|---|
| 31 | BOOST_CHECK_EQUAL( std::strncmp( cs5.data(), "test_string", cs5.length() ), 0 );
|
|---|
| 32 |
|
|---|
| 33 | const_string cs_array[] = { "str1", "str2" }; // 8 //
|
|---|
| 34 | BOOST_CHECK_EQUAL( cs_array[0].data(), "str1" );
|
|---|
| 35 | BOOST_CHECK_EQUAL( cs_array[1].data(), "str2" );
|
|---|
| 36 | }
|
|---|
| 37 |
|
|---|
| 38 |
|
|---|