3 #include <boost/test/auto_unit_test.hpp>
5 #include "zypp/base/LogTools.h"
6 #include "zypp/base/Easy.h"
7 #include "zypp/sat/Map.h"
10 #define BOOST_TEST_MODULE Map
15 using namespace boost::unit_test;
18 BOOST_AUTO_TEST_CASE(basic)
21 BOOST_CHECK_EQUAL( m.empty(), true );
22 BOOST_CHECK_EQUAL( m.size(), 0 );
23 BOOST_CHECK_EQUAL( m.asString(), "" );
24 BOOST_CHECK( m == sat::Map() );
27 BOOST_CHECK_EQUAL( m.empty(), false );
28 BOOST_CHECK_EQUAL( m.size(), 8 );
29 BOOST_CHECK_EQUAL( m.asString(), "00000000" );
30 BOOST_CHECK( m != sat::Map() );
33 BOOST_CHECK_EQUAL( m.empty(), false );
34 BOOST_CHECK_EQUAL( m.size(), 16 );
35 BOOST_CHECK_EQUAL( m.asString(), "0000000000000000" );
37 m.grow( 0 ); // no shrink!
38 BOOST_CHECK_EQUAL( m.size(), 16 );
41 BOOST_CHECK_EQUAL( m.asString(), "1111111111111111" );
45 BOOST_CHECK_EQUAL( m.asString(), "0110111111111111" );
46 BOOST_CHECK_EQUAL( m.test( 0 ), false );
47 BOOST_CHECK_EQUAL( m.test( 1 ), true );
52 BOOST_CHECK_EQUAL( m.asString(), "0000000000000000" );
53 BOOST_CHECK_EQUAL( n.asString(), "0000000000000000" );
54 BOOST_CHECK_EQUAL( m, n );
57 BOOST_CHECK_EQUAL( m.asString(), "0100000000000000" );
58 BOOST_CHECK_EQUAL( n.asString(), "0000000000000000" );
59 BOOST_CHECK( m != n );
62 BOOST_CHECK_EQUAL( m.asString(), "0100000000000000" );
63 BOOST_CHECK_EQUAL( n.asString(), "0100000000000000" );
64 BOOST_CHECK( m == n );
67 BOOST_CHECK_THROW( m.set( 99 ), std::out_of_range );