Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_33_1/libs/multi_index/test/test_capacity.cpp @ 12

Last change on this file since 12 was 12, checked in by landauf, 17 years ago

added boost

File size: 1.5 KB
Line 
1/* Boost.MultiIndex test for capacity memfuns.
2 *
3 * Copyright 2003-2005 Joaquín M López Muñoz.
4 * Distributed under the Boost Software License, Version 1.0.
5 * (See accompanying file LICENSE_1_0.txt or copy at
6 * http://www.boost.org/LICENSE_1_0.txt)
7 *
8 * See http://www.boost.org/libs/multi_index for library home page.
9 */
10
11#include "test_capacity.hpp"
12
13#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
14#include "pre_multi_index.hpp"
15#include "employee.hpp"
16#include <boost/test/test_tools.hpp>
17
18using namespace boost::multi_index;
19
20void test_capacity()
21{
22  employee_set es;
23
24  es.insert(employee(0,"Joe",31,1123));
25  es.insert(employee(1,"Robert",27,5601));
26  es.insert(employee(2,"John",40,7889));
27  es.insert(employee(3,"Albert",20,9012));
28  es.insert(employee(4,"John",57,1002));
29
30  BOOST_CHECK(!es.empty());
31  BOOST_CHECK(es.size()==5);
32  BOOST_CHECK(es.size()<=es.max_size());
33
34  es.erase(es.begin());
35  BOOST_CHECK(!get<name>(es).empty());
36  BOOST_CHECK(get<name>(es).size()==4);
37  BOOST_CHECK(get<name>(es).size()<=get<name>(es).max_size());
38
39  es.erase(es.begin());
40  BOOST_CHECK(!get<as_inserted>(es).empty());
41  BOOST_CHECK(get<as_inserted>(es).size()==3);
42  BOOST_CHECK(get<as_inserted>(es).size()<=get<as_inserted>(es).max_size());
43
44  multi_index_container<int,indexed_by<sequenced<> > > ss;
45
46  ss.resize(10);
47  BOOST_CHECK(ss.size()==10);
48  BOOST_CHECK(ss.size()<=ss.max_size());
49
50  ss.resize(20);
51  BOOST_CHECK(ss.size()==20);
52
53  ss.resize(5);
54  BOOST_CHECK(ss.size()==5);
55}
Note: See TracBrowser for help on using the repository browser.