snippet17.cpp 964 B

12345678910111213141516171819202122232425262728293031
  1. // (C) Copyright Gennadiy Rozental 2001-2015.
  2. // Distributed under the Boost Software License, Version 1.0.
  3. // (See accompanying file LICENSE_1_0.txt or copy at
  4. // http://www.boost.org/LICENSE_1_0.txt)
  5. //
  6. // See http://www.boost.org/libs/test for the library home page.
  7. //
  8. //[snippet17
  9. #define __BOOST_TEST_MODULE__ const_string test
  10. #include <boost/test/unit_test.hpp>
  11. __BOOST_AUTO_TEST_CASE__( constructors_test )
  12. {
  13. //...
  14. }
  15. __BOOST_AUTO_TEST_CASE__( data_access_test )
  16. {
  17. const_string cs1( "test_string" ); // 1 //
  18. __BOOST_TEST__( cs1[(size_t)0] == 't' );
  19. __BOOST_TEST__( cs1[(size_t)4] == '_' );
  20. __BOOST_TEST__( cs1[cs1.length()-1] == 'g' );
  21. __BOOST_TEST__( cs1[(size_t)0] == cs1.at( 0 ) ); // 2 //
  22. __BOOST_TEST__( cs1[(size_t)2] == cs1.at( 5 ) );
  23. __BOOST_TEST__( cs1.at( cs1.length() - 1 ) == 'g' );
  24. BOOST_CHECK_THROW( cs1.at( cs1.length() ), std::out_of_range ); // 3 //
  25. }
  26. //]