LCOV - code coverage report
Current view: top level - tests/multiset - multiset_suite.cpp (source / functions) Hit Total Coverage
Test: v-set-coverage.info Lines: 29 29 100.0 %
Date: 2019-09-12 Functions: 13 13 100.0 %

          Line data    Source code
       1             : //
       2             : // Author: Vladimir Migashko <migashko@gmail.com>, (C) 2012
       3             : //
       4             : // Copyright: See COPYING file that comes with this distribution
       5             : //
       6             : 
       7             : #include <vset/multiset.hpp>
       8             : #include <fas/testing.hpp>
       9             : 
      10           3 : UNIT(multiset_basic, "")
      11             : {
      12             :   using namespace fas::testing;
      13             :   using namespace vset;
      14             : 
      15             :   typedef multiset<int, std::greater<int> > multiset_type;
      16           1 :   multiset_type int_set;
      17             : 
      18           1 :   int_set.insert(1);
      19           1 :   int_set.insert(1);
      20           1 :   int_set.insert(1);
      21             : 
      22           1 :   int_set.insert(2);
      23           1 :   int_set.insert(2);
      24           1 :   int_set.insert(2);
      25             : 
      26           1 :   t << equal<expect, size_t>( int_set.size(), 6) << FAS_TESTING_FILE_LINE;
      27             : 
      28             : 
      29           1 :   multiset_type::iterator itr = int_set.find(2);
      30             : 
      31           1 :   int_set.erase(itr);
      32             : 
      33           1 :   t << equal<expect, size_t>( int_set.size(), 5) << FAS_TESTING_FILE_LINE;
      34             : 
      35           1 :   int_set.erase(1);
      36             : 
      37           1 :   t << equal<expect, size_t>( int_set.size(), 2) << FAS_TESTING_FILE_LINE;
      38             : 
      39             : 
      40           1 :   t << nothing;
      41           1 : }
      42             : 
      43           3 : UNIT(multiset_lower_up, "")
      44             : {
      45             :   using namespace fas::testing;
      46           1 :   vset::multiset<int> ms;
      47        1001 :   for (int i=0; i < 1000; ++i)
      48        1000 :     ms.insert(i);
      49         901 :   for (int i=0; i < 900; ++i)
      50             :   {
      51         900 :     vset::multiset<int>::iterator lower = ms.lower_bound(i);
      52         900 :     vset::multiset<int>::iterator upper = ms.upper_bound(i + 10);
      53         900 :     t << equal<expect>( *lower, i ) << FAS_FL;
      54         900 :     t << equal<expect>( *(--upper), i+10 ) << FAS_FL;
      55           1 :   }
      56             : 
      57           1 : }
      58             : 
      59           1 : BEGIN_SUITE(multiset_suite, "")
      60             :   ADD_UNIT(multiset_basic)
      61             :   ADD_UNIT(multiset_lower_up)
      62           7 : END_SUITE(multiset_suite)

Generated by: LCOV version 1.10