stdcpp/tsrc/Stdcpp_test/stlport/auto/stlport_setsymd/src/setsymd1.cpp
changeset 31 ce057bb09d0b
child 34 5fae379060a7
equal deleted inserted replaced
30:e20de85af2ee 31:ce057bb09d0b
       
     1 /*
       
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: 
       
    15 *
       
    16 */
       
    17 
       
    18 // STLport regression testsuite component.
       
    19 // To compile as a separate example, please #define MAIN.
       
    20 #include <iterator>
       
    21 
       
    22 #include <algorithm>
       
    23 #include <vector>
       
    24 #include <iostream>
       
    25 #include <iterator>
       
    26 #include <numeric>
       
    27 // #include <functional>
       
    28 
       
    29 #ifdef MAIN 
       
    30 #define setsymd1_test main
       
    31 #endif
       
    32 
       
    33 #if !defined (STLPORT) || defined(__STL_USE_NAMESPACES)
       
    34 using namespace std;
       
    35 #endif
       
    36 int setsymd1_test(int, char**)
       
    37 {
       
    38   int failures=0;
       
    39   cout<<"Results of setsymd1_test:"<<endl;
       
    40   vector <int> v1(10);
       
    41   iota(v1.begin(), v1.end(), 0);
       
    42   vector <int> v2(10);
       
    43   vector <int> v3(14);
       
    44   iota(v2.begin(), v2.end(), 7);
       
    45   ostream_iterator <int> iter(cout, " ");
       
    46   cout << "v1: ";
       
    47   
       
    48    if(0!=v1[0])
       
    49      failures++;
       
    50    else if(1!=v1[1])
       
    51      failures++;
       
    52    else if(2!=v1[2])
       
    53      failures++;
       
    54    else if(3!=v1[3])
       
    55      failures++;
       
    56    else if(4!=v1[4])
       
    57      failures++;
       
    58    else if(5!=v1[5])
       
    59      failures++;
       
    60    else if(6!=v1[6])
       
    61      failures++;
       
    62    else if(7!=v1[7])
       
    63      failures++;
       
    64    else if(8!=v1[8])
       
    65      failures++;
       
    66    else if(9!=v1[9])
       
    67      failures++;
       
    68          
       
    69   
       
    70   copy(v1.begin(), v1.end(), iter);
       
    71   cout << "\nv2: ";
       
    72   
       
    73   if(7!=v2[0])
       
    74      failures++;
       
    75    else if(8!=v2[1])
       
    76      failures++;
       
    77    else if(9!=v2[2])
       
    78      failures++;
       
    79    else if(10!=v2[3])
       
    80      failures++;
       
    81    else if(11!=v2[4])
       
    82      failures++;
       
    83    else if(12!=v2[5])
       
    84      failures++;
       
    85    else if(13!=v2[6])
       
    86      failures++;
       
    87    else if(14!=v2[7])
       
    88      failures++;
       
    89    else if(15!=v2[8])
       
    90      failures++;
       
    91    else if(16!=v2[9])
       
    92      failures++;
       
    93      
       
    94   copy(v2.begin(), v2.end(), iter);
       
    95   cout << endl;
       
    96   set_symmetric_difference(v1.begin(), v1.end(), 
       
    97                            v2.begin(), v2.end(), v3.begin());
       
    98   
       
    99   
       
   100    if(0!=v3[0])
       
   101      failures++;
       
   102    else if(1!=v3[1])
       
   103      failures++;
       
   104    else if(2!=v3[2])
       
   105      failures++;
       
   106    else if(3!=v3[3])
       
   107      failures++;
       
   108    else if(4!=v3[4])
       
   109      failures++;
       
   110    else if(5!=v3[5])
       
   111      failures++;
       
   112    else if(6!=v3[6])
       
   113      failures++;
       
   114    else if(10!=v3[7])
       
   115      failures++;
       
   116    else if(11!=v3[8])
       
   117      failures++;
       
   118    else if(12!=v3[9])
       
   119      failures++;
       
   120    else if(13!=v3[10])
       
   121      failures++;
       
   122    else if(14!=v3[11])
       
   123      failures++;
       
   124    else if(15!=v3[12])
       
   125      failures++;
       
   126  
       
   127  copy(v3.begin(),v3.end(),iter);
       
   128 
       
   129   cout << endl;
       
   130   
       
   131   if(failures)
       
   132     return 1;
       
   133   else  
       
   134     return 0;
       
   135 }
       
   136