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 <fas/testing.hpp>
8 : #include <vset/vtree/vtree.hpp>
9 : #include <vset/vtree/strategy.hpp>
10 :
11 3 : UNIT(vtree_create_filesync, "")
12 : {
13 : using namespace fas::testing;
14 : using namespace vset;
15 :
16 :
17 : typedef vtree::vtree< vtree::strategy::vtree_fsb_mmap<char, std::less<char>, 3> > int_vtree;
18 1 : int_vtree tree;
19 :
20 1 : unlink("vtree.bin");
21 1 : tree.get_allocator().memory().buffer().open("vtree.bin");
22 :
23 :
24 1 : tree.lower_bound('B');
25 1 : tree.upper_bound('B');
26 :
27 6 : for (int i = 0; i < 5 ; ++i)
28 : {
29 5 : tree.insert( static_cast<char>( 'A' + i % 10 ) );
30 : }
31 :
32 :
33 1 : int_vtree::iterator itr;
34 1 : itr = tree.begin();
35 6 : for (int i = 0; itr != tree.end(); ++itr, ++i)
36 : {
37 5 : t << equal<expect, char>(*itr, 'A' + i % 10);
38 : }
39 :
40 : // g++-4.6 internal compiler error
41 : //tree.get_allocator().memory().buffer().sync();
42 : //t << equal<expect, size_t>(tree.get_container().size(), 3);
43 : //t << equal<expect, size_t>(tree.size(), 5);
44 : //tree.get_allocator().memory().buffer().close();
45 :
46 1 : t << nothing;
47 1 : }
48 :
49 1 : BEGIN_SUITE(vtree_basic_suite, "")
50 : ADD_UNIT(vtree_create_filesync)
51 7 : END_SUITE(vtree_basic_suite)
|