int main()
{
   conversion_test();
   to_view_test();
   equal_test();
   unequal_test();
   less_test();
   greater_test();
   less_equal_test();
   greater_equal_test();
   constructor_test();
   assignment_test();
   assign_test();
   plus_equal_test();
   append_test();
   insert_test();
   replace_test();
   find_test();
   rfind_test();
   find_first_of_test();
   find_last_of_test();
   find_first_not_of_test();
   find_last_not_of_test();
   compare_test();

   return boost::report_errors();
}
예제 #2
0
int main( )
{
  int rc = 0;
  int original_count = heap_count( );

  try {
    if( !construct_test( )         || !heap_ok( "t01" ) ) rc = 1;
    if( !assign_test( )            || !heap_ok( "t02" ) ) rc = 1;
    if( !access_test( )            || !heap_ok( "t03" ) ) rc = 1;
    if( !relational_test( )        || !heap_ok( "t04" ) ) rc = 1;
    if( !capacity_test( )          || !heap_ok( "t05" ) ) rc = 1;
    if( !iterator_test( )          || !heap_ok( "t06" ) ) rc = 1;
    if( !append_test( )            || !heap_ok( "t07" ) ) rc = 1;
    if( !insert_test( )            || !heap_ok( "t08" ) ) rc = 1;
    if( !erase_test( )             || !heap_ok( "t09" ) ) rc = 1;
    if( !replace_test( )           || !heap_ok( "t10" ) ) rc = 1;
    if( !iterator_replace_test( )  || !heap_ok( "t11" ) ) rc = 1;
    if( !copy_test( )              || !heap_ok( "t12" ) ) rc = 1;
    if( !swap_test( )              || !heap_ok( "t13" ) ) rc = 1;
    if( !cstr_test( )              || !heap_ok( "t14" ) ) rc = 1;
    if( !find_test( )              || !heap_ok( "t15" ) ) rc = 1;
    if( !rfind_test( )             || !heap_ok( "t16" ) ) rc = 1;
    if( !find_first_of_test( )     || !heap_ok( "t17" ) ) rc = 1;
    if( !find_last_of_test( )      || !heap_ok( "t18" ) ) rc = 1;
    if( !find_first_not_of_test( ) || !heap_ok( "t19" ) ) rc = 1;
    if( !find_last_not_of_test( )  || !heap_ok( "t20" ) ) rc = 1;
    if( !substr_test( )            || !heap_ok( "t21" ) ) rc = 1;
  }
  catch( std::out_of_range e ) {
    std::cout << "Unexpected out_of_range exception: " << e.what( ) << "\n";
    rc = 1;
  }
  catch( std::length_error e ) {
    std::cout << "Unexpected length_error exception: " << e.what( ) << "\n";
    rc = 1;
  }
  catch( ... ) {
    std::cout << "Unexpected exception of unexpected type.\n";
    rc = 1;
  }

  if( heap_count( ) != original_count ) {
    std::cout << "Possible memory leak!\n";
    rc = 1;
  }
  return( rc );
}
예제 #3
0
int main()
{

  sequences::piece_chain_method   sds_pc;
  neatpad::piece_chain            nep_pc; nep_pc.init();

  using clock_t      = std::chrono::steady_clock;
  using duration_t   = std::chrono::nanoseconds;
  using time_point_t = std::chrono::time_point<clock_t>;

  clock_t      clock;
  time_point_t start;
  time_point_t stop;

  const unsigned int counter = 1024;

  // append
  //////////////////////////////////////////////////////////////////////////////
  start = clock.now();
  append_test(sds_pc, counter*10);
  stop = clock.now();
  auto time_cnt = std::chrono::duration_cast<duration_t>(stop - start).count();
  std::cout << "sds chain append time " << std::right << std::setw(20)  << time_cnt << " ns" << std::endl;

  start = clock.now();
  append_test(nep_pc, counter*10);
  stop = clock.now();
  time_cnt = std::chrono::duration_cast<duration_t>(stop - start).count();
  std::cout << "nep chain append time " << std::right << std::setw(20)  << time_cnt << " ns" << std::endl;

  std::cout << std::endl << std::endl;
  // access
  //////////////////////////////////////////////////////////////////////////////
  start = clock.now();
  access_test(sds_pc);
  stop = clock.now();
  time_cnt = std::chrono::duration_cast<duration_t>(stop - start).count();
  std::cout << "sds chain access time " << std::right << std::setw(20)  << time_cnt << " ns" << std::endl;

  start = clock.now();
  access_test(nep_pc);
  stop = clock.now();
  time_cnt = std::chrono::duration_cast<duration_t>(stop - start).count();
  std::cout << "nep chain access time " << std::right << std::setw(20)  << time_cnt << " ns" << std::endl;

  std::cout << std::endl << std::endl;
  // insert
  //////////////////////////////////////////////////////////////////////////////
  start = clock.now();
  insert_orderer_char_test(sds_pc, counter*10);
  stop = clock.now();
  time_cnt = std::chrono::duration_cast<duration_t>(stop - start).count();
  std::cout << "sds chain insert ordered char time " << std::right << std::setw(20)  << time_cnt << " ns" << std::endl;

  start = clock.now();
  insert_orderer_char_test(nep_pc, counter*10);
  stop = clock.now();
  time_cnt = std::chrono::duration_cast<duration_t>(stop - start).count();
  std::cout << "nep chain insert ordered char time " << std::right << std::setw(20)  << time_cnt << " ns" << std::endl;

  std::cout << std::endl << std::endl;
  // access
  //////////////////////////////////////////////////////////////////////////////
  start = clock.now();
  access_test(sds_pc);
  stop = clock.now();
  time_cnt = std::chrono::duration_cast<duration_t>(stop - start).count();
  std::cout << "sds chain access time " << std::right << std::setw(20)  << time_cnt << " ns" << std::endl;

  start = clock.now();
  access_test(nep_pc);
  stop = clock.now();
  time_cnt = std::chrono::duration_cast<duration_t>(stop - start).count();
  std::cout << "nep chain access time " << std::right << std::setw(20)  << time_cnt << " ns" << std::endl;

  std::cout << std::endl << std::endl;
  // insert
  //////////////////////////////////////////////////////////////////////////////
  start = clock.now();
  insert_multiple_char_test(sds_pc, counter);
  stop = clock.now();
  time_cnt = std::chrono::duration_cast<duration_t>(stop - start).count();
  std::cout << "sds chain insert multiple char time " << std::right << std::setw(20)  << time_cnt << " ns" << std::endl;

  start = clock.now();
  insert_multiple_char_test(nep_pc, counter);
  stop = clock.now();
  time_cnt = std::chrono::duration_cast<duration_t>(stop - start).count();
  std::cout << "nep chain insert multiple char time " << std::right << std::setw(20)  << time_cnt << " ns" << std::endl;
  std::cout << std::endl << std::endl;
  // access
  //////////////////////////////////////////////////////////////////////////////
  start = clock.now();
  access_test(sds_pc);
  stop = clock.now();
  time_cnt = std::chrono::duration_cast<duration_t>(stop - start).count();
  std::cout << "sds chain access time " << std::right << std::setw(20)  << time_cnt << " ns" << std::endl;

  start = clock.now();
  access_test(nep_pc);
  stop = clock.now();
  time_cnt = std::chrono::duration_cast<duration_t>(stop - start).count();
  std::cout << "nep chain access time " << std::right << std::setw(20)  << time_cnt << " ns" << std::endl;
}
예제 #4
0
int main()
{
	append_test();

	return 0;
}