stdcpp/tsrc/Stdcpp_test/stlport/auto/stlport_vec/src/vec6.cpp
changeset 0 e4d67989cc36
child 18 47c74d1534e1
equal deleted inserted replaced
-1:000000000000 0:e4d67989cc36
       
     1 
       
     2  
       
     3 // STLport regression testsuite component.
       
     4 // To compile as a separate example, please #define MAIN.
       
     5 
       
     6 #include <iostream>
       
     7 #include <vector>
       
     8 #include <algorithm>
       
     9 
       
    10 #ifdef MAIN 
       
    11 #define vec6_test main
       
    12 #endif
       
    13 
       
    14 #if !defined (STLPORT) || defined(__STL_USE_NAMESPACES)
       
    15 using namespace std;
       
    16 #endif
       
    17 int vec6_test(int, char**)
       
    18 {
       
    19   int failures=0;
       
    20   cout<<"Results of vec6_test:"<<endl;
       
    21 int array [] = { 1, 4, 9, 16, 25, 36 };
       
    22 
       
    23   vector<int> v(array, array + 6);
       
    24   int i;
       
    25   for(i = 0; i < v.size(); i++)
       
    26     cout << "v[" << i << "] = " << v[i] << endl;
       
    27   cout << endl;
       
    28    
       
    29    if(1!=v[0])
       
    30      failures++;
       
    31    else if(4!=v[1]) 
       
    32      failures++;
       
    33    else if(9!=v[2])
       
    34      failures++;
       
    35    else if(16!=v[3])
       
    36      failures++;
       
    37    else if(25!=v[4])
       
    38      failures++;
       
    39    else if(36!=v[5])
       
    40      failures++;
       
    41              
       
    42   v.erase(v.begin()); // Erase first element.
       
    43   for(i = 0; i < v.size(); i++)
       
    44     cout << "v[" << i << "] = " << v[i] << endl;
       
    45   cout << endl;
       
    46   
       
    47   if(4!=v[0])
       
    48      failures++;
       
    49    else if(9!=v[1]) 
       
    50      failures++;
       
    51    else if(16!=v[2])
       
    52      failures++;
       
    53    else if(25!=v[3])
       
    54      failures++;
       
    55    else if(36!=v[4])
       
    56      failures++;
       
    57              
       
    58   
       
    59   v.erase(v.end() - 1); // Erase last element.
       
    60   for(i = 0; i < v.size(); i++)
       
    61     cout << "v[" << i << "] = " << v[i] << endl;
       
    62   cout << endl;
       
    63   
       
    64   
       
    65   if(4!=v[0])
       
    66      failures++;
       
    67    else if(9!=v[1]) 
       
    68      failures++;
       
    69    else if(16!=v[2])
       
    70      failures++;
       
    71    else if(25!=v[3])
       
    72      failures++;
       
    73        
       
    74   v.erase(v.begin() + 1, v.end() - 1); // Erase all but first and last.
       
    75   for(i = 0; i < v.size(); i++)
       
    76     cout << "v[" << i << "] = " << v[i] << endl;
       
    77   cout << endl;
       
    78   /*
       
    79   v.erase(v.begin(), v.end()); // Erase all.
       
    80   */
       
    81  
       
    82   if(4!=v[0])
       
    83      failures++;
       
    84   else if(25!=v[1]) 
       
    85      failures++;
       
    86   
       
    87   
       
    88   if(failures)
       
    89     return 1;
       
    90   else   
       
    91     return 0;
       
    92 }
       
    93 
       
    94 /*Results of vec6_test:
       
    95 v[0] = 1
       
    96 v[1] = 4
       
    97 v[2] = 9
       
    98 v[3] = 16
       
    99 v[4] = 25
       
   100 v[5] = 36
       
   101 
       
   102 v[0] = 4
       
   103 v[1] = 9
       
   104 v[2] = 16
       
   105 v[3] = 25
       
   106 v[4] = 36
       
   107 
       
   108 v[0] = 4
       
   109 v[1] = 9
       
   110 v[2] = 16
       
   111 v[3] = 25
       
   112 
       
   113 v[0] = 4
       
   114 v[1] = 25
       
   115 */