LCOV - code coverage report
Current view: top level - o3tl/qa - test-sorted_vector.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 172 172 100.0 %
Date: 2012-08-25 Functions: 16 16 100.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 874 1750 49.9 %

           Branch data     Line data    Source code
       1                 :            : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2                 :            : /*
       3                 :            :  * This file is part of the LibreOffice project.
       4                 :            :  *
       5                 :            :  * This Source Code Form is subject to the terms of the Mozilla Public
       6                 :            :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7                 :            :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8                 :            :  */
       9                 :            : 
      10                 :            : #include "cppunit/TestAssert.h"
      11                 :            : #include "cppunit/TestFixture.h"
      12                 :            : #include "cppunit/extensions/HelperMacros.h"
      13                 :            : 
      14                 :            : #include <o3tl/sorted_vector.hxx>
      15                 :            : 
      16                 :            : using namespace ::o3tl;
      17                 :            : 
      18                 :            : 
      19                 :            : // helper class
      20                 :            : class SwContent
      21                 :            : {
      22                 :            : public:
      23                 :            :     int x;
      24                 :            : 
      25                 :        140 :     SwContent(int x_) : x(x_) {}
      26                 :            : 
      27                 :       1170 :     bool operator<( const SwContent &rCmp) const
      28                 :            :     {
      29                 :       1170 :         return x < rCmp.x;
      30                 :            :     }
      31                 :            : };
      32                 :            : 
      33         [ -  + ]:         90 : class sorted_vector_test : public CppUnit::TestFixture
      34                 :            : {
      35                 :            : public:
      36                 :          5 :     void testBasics()
      37                 :            :     {
      38         [ +  - ]:          5 :         o3tl::sorted_vector<SwContent*, o3tl::less_ptr_to<SwContent> > aVec;
      39         [ +  - ]:          5 :         SwContent *p1 = new SwContent(1);
      40         [ +  - ]:          5 :         SwContent *p2 = new SwContent(2);
      41         [ +  - ]:          5 :         SwContent *p3 = new SwContent(3);
      42         [ +  - ]:          5 :         SwContent *p4 = new SwContent(4);
      43                 :            : 
      44 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.insert(p3).second );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
      45 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.insert(p1).second );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
      46 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( !aVec.insert(p3).second );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
      47                 :            : 
      48 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.size() == 2 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
      49                 :            : 
      50 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec[0] == p1 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
      51 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec[1] == p3 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
      52                 :            : 
      53 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( *aVec.begin() == p1 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
      54 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( *(aVec.end()-1) == p3 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
      55                 :            : 
      56 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.front() == p1 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
      57 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.back() == p3 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
      58                 :            : 
      59 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p1) != aVec.end() );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
      60 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p1) - aVec.begin() == 0 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
      61 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p3) != aVec.end() );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
      62 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p3) - aVec.begin() == 1 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
      63 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p2) == aVec.end() );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
      64 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p4) == aVec.end() );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
      65                 :            : 
      66 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.erase(p1) == 1 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
      67 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.size() == 1 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
      68 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.erase(p2) == 0 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
      69                 :            : 
      70         [ +  - ]:          5 :         aVec.DeleteAndDestroyAll();
      71                 :          5 :     }
      72                 :            : 
      73                 :          5 :     void testErase()
      74                 :            :     {
      75         [ +  - ]:          5 :         o3tl::sorted_vector<SwContent*, o3tl::less_ptr_to<SwContent> > aVec;
      76         [ +  - ]:          5 :         SwContent *p1 = new SwContent(1);
      77         [ +  - ]:          5 :         SwContent *p2 = new SwContent(2);
      78         [ +  - ]:          5 :         SwContent *p3 = new SwContent(3);
      79         [ +  - ]:          5 :         SwContent *p4 = new SwContent(4);
      80                 :            : 
      81         [ +  - ]:          5 :         aVec.insert(p1);
      82         [ +  - ]:          5 :         aVec.insert(p2);
      83         [ +  - ]:          5 :         aVec.insert(p3);
      84                 :            : 
      85 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.erase(p1) == 1 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
      86 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.size() == 2 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
      87                 :            : 
      88         [ +  - ]:          5 :         aVec.erase(1);
      89 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.size() == 1 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
      90                 :            : 
      91 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.erase(p4) == 0 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
      92                 :            : 
      93                 :          5 :         aVec.clear();
      94 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.size() == 0 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
      95                 :            : 
      96         [ +  - ]:          5 :         aVec.insert(p1);
      97         [ +  - ]:          5 :         aVec.insert(p2);
      98         [ +  - ]:          5 :         aVec.insert(p3);
      99         [ +  - ]:          5 :         aVec.DeleteAndDestroyAll();
     100 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.size() == 0 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     101                 :          5 :     }
     102                 :            : 
     103                 :          5 :     void testInsertRange()
     104                 :            :     {
     105         [ +  - ]:          5 :         o3tl::sorted_vector<SwContent*, o3tl::less_ptr_to<SwContent> > aVec1;
     106         [ +  - ]:          5 :         SwContent *p1 = new SwContent(1);
     107         [ +  - ]:          5 :         SwContent *p2 = new SwContent(2);
     108         [ +  - ]:          5 :         SwContent *p3 = new SwContent(3);
     109                 :            : 
     110         [ +  - ]:          5 :         aVec1.insert(p1);
     111         [ +  - ]:          5 :         aVec1.insert(p2);
     112         [ +  - ]:          5 :         aVec1.insert(p3);
     113                 :            : 
     114         [ +  - ]:          5 :         o3tl::sorted_vector<SwContent*, o3tl::less_ptr_to<SwContent> > aVec2;
     115         [ +  - ]:          5 :         aVec2.insert( aVec1 );
     116                 :            : 
     117 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec2.size() == 3 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     118                 :          5 :     }
     119                 :            : 
     120                 :          5 :     void testLowerBound()
     121                 :            :     {
     122         [ +  - ]:          5 :         o3tl::sorted_vector<SwContent*, o3tl::less_ptr_to<SwContent> > aVec;
     123         [ +  - ]:          5 :         SwContent *p1 = new SwContent(1);
     124         [ +  - ]:          5 :         SwContent *p2 = new SwContent(2);
     125         [ +  - ]:          5 :         SwContent *p3 = new SwContent(3);
     126         [ +  - ]:          5 :         SwContent *p4 = new SwContent(4);
     127                 :            : 
     128         [ +  - ]:          5 :         aVec.insert(p1);
     129         [ +  - ]:          5 :         aVec.insert(p2);
     130         [ +  - ]:          5 :         aVec.insert(p3);
     131                 :            : 
     132 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.lower_bound(p1) == aVec.begin() );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     133 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.lower_bound(p4) == aVec.end() );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     134                 :          5 :     }
     135                 :            : 
     136                 :          5 :     void testBasics_FindPtr()
     137                 :            :     {
     138                 :            :         o3tl::sorted_vector<SwContent*, o3tl::less_ptr_to<SwContent>,
     139         [ +  - ]:          5 :             o3tl::find_partialorder_ptrequals> aVec;
     140         [ +  - ]:          5 :         SwContent *p1 = new SwContent(1);
     141         [ +  - ]:          5 :         SwContent *p2 = new SwContent(2);
     142         [ +  - ]:          5 :         SwContent *p2_2 = new SwContent(2);
     143         [ +  - ]:          5 :         SwContent *p2_3 = new SwContent(2);
     144         [ +  - ]:          5 :         SwContent *p2_4 = new SwContent(2);
     145         [ +  - ]:          5 :         SwContent *p3 = new SwContent(3);
     146         [ +  - ]:          5 :         SwContent *p4 = new SwContent(4);
     147                 :            : 
     148 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.insert(p3).second );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     149 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.insert(p1).second );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     150 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( !aVec.insert(p3).second );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     151                 :            : 
     152 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.size() == 2 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     153                 :            : 
     154 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec[0] == p1 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     155 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec[1] == p3 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     156                 :            : 
     157 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.insert(p2_2).second );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     158 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.insert(p2_3).second );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     159 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( !aVec.insert(p2_2).second );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     160 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.insert(p2_4).second );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     161 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.size() == 5 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     162                 :            : 
     163 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( *aVec.begin() == p1 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     164 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( *(aVec.end()-1) == p3 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     165                 :            : 
     166 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.front() == p1 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     167 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.back() == p3 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     168                 :            : 
     169 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p1) != aVec.end() );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     170 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p1) - aVec.begin() == 0 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     171 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p3) != aVec.end() );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     172 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p3) - aVec.begin() == 4 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     173 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p2) == aVec.end() );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     174 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p4) == aVec.end() );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     175 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p2_2) != aVec.end() );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     176 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p2_2) - aVec.begin() >= 1 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     177 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p2_2) - aVec.begin() <  4 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     178 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p2_3) != aVec.end() );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     179 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p2_3) - aVec.begin() >= 1 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     180 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p2_3) - aVec.begin() <  4 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     181 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p2_4) != aVec.end() );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     182 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p2_4) - aVec.begin() >= 1 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     183 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p2_4) - aVec.begin() <  4 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     184                 :            : 
     185 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.erase(p1) == 1 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     186 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.size() == 4 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     187 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.erase(p2) == 0 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     188 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.erase(p2_3) == 1 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     189 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.size() == 3 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     190                 :            : 
     191         [ +  - ]:          5 :         aVec.DeleteAndDestroyAll();
     192                 :          5 :     }
     193                 :            : 
     194                 :          5 :     void testErase_FindPtr()
     195                 :            :     {
     196                 :            :         o3tl::sorted_vector<SwContent*, o3tl::less_ptr_to<SwContent>,
     197         [ +  - ]:          5 :             o3tl::find_partialorder_ptrequals> aVec;
     198         [ +  - ]:          5 :         SwContent *p1 = new SwContent(1);
     199         [ +  - ]:          5 :         SwContent *p1_2 = new SwContent(1);
     200         [ +  - ]:          5 :         SwContent *p1_3 = new SwContent(1);
     201         [ +  - ]:          5 :         SwContent *p2 = new SwContent(2);
     202         [ +  - ]:          5 :         SwContent *p3 = new SwContent(3);
     203         [ +  - ]:          5 :         SwContent *p4 = new SwContent(4);
     204                 :            : 
     205         [ +  - ]:          5 :         aVec.insert(p1);
     206         [ +  - ]:          5 :         aVec.insert(p2);
     207         [ +  - ]:          5 :         aVec.insert(p3);
     208                 :            : 
     209 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.erase(p1) == 1 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     210 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.size() == 2 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     211                 :            : 
     212         [ +  - ]:          5 :         aVec.erase(1);
     213 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.size() == 1 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     214                 :            : 
     215 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.erase(p4) == 0 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     216                 :            : 
     217                 :          5 :         aVec.clear();
     218 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.size() == 0 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     219                 :            : 
     220         [ +  - ]:          5 :         aVec.insert(p1);
     221         [ +  - ]:          5 :         aVec.insert(p2);
     222         [ +  - ]:          5 :         aVec.insert(p3);
     223         [ +  - ]:          5 :         aVec.insert(p1_2);
     224 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.size() == 4 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     225         [ +  - ]:          5 :         aVec.insert(p1_3);
     226 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.size() == 5 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     227 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.erase(p1) == 1 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     228 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p1) == aVec.end() );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     229 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p1_2) != aVec.end() );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     230 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p1_3) != aVec.end() );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     231 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.erase(p1_3) == 1 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     232 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p1) == aVec.end() );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     233 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p1_2) != aVec.end() );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     234 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p1_3) == aVec.end() );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     235 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.erase(p1_3) == 0 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     236 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p1) == aVec.end() );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     237 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p1_2) != aVec.end() );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     238 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.find(p1_3) == aVec.end() );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     239                 :            : 
     240         [ +  - ]:          5 :         aVec.DeleteAndDestroyAll();
     241 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT( aVec.size() == 0 );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     242                 :          5 :     }
     243                 :            : 
     244                 :            : 
     245                 :            : 
     246                 :            :     // Change the following lines only, if you add, remove or rename
     247                 :            :     // member functions of the current class,
     248                 :            :     // because these macros are need by auto register mechanism.
     249                 :            : 
     250 [ +  - ][ +  - ]:         10 :     CPPUNIT_TEST_SUITE(sorted_vector_test);
         [ +  - ][ +  - ]
                 [ #  # ]
     251 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testBasics);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     252 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testErase);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     253 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testInsertRange);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     254 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testLowerBound);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     255 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testBasics_FindPtr);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     256 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testErase_FindPtr);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     257 [ +  - ][ +  - ]:         10 :     CPPUNIT_TEST_SUITE_END();
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     258                 :            : };
     259                 :            : 
     260                 :            : // -----------------------------------------------------------------------------
     261 [ +  - ][ +  - ]:         15 : CPPUNIT_TEST_SUITE_REGISTRATION(sorted_vector_test);
     262                 :            : 
     263                 :            : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10