1 #include <boost/test/unit_test.hpp>
4 #include "zypp/ContentType.h"
9 using zypp::ContentType;
11 BOOST_AUTO_TEST_CASE(contenttype_default)
15 BOOST_CHECK( v.empty() );
16 BOOST_CHECK( v.emptyType() );
17 BOOST_CHECK( v.emptySubtype() );
20 BOOST_CHECK_EQUAL( v == w, true );
21 BOOST_CHECK_EQUAL( v != w, false );
22 BOOST_CHECK_EQUAL( v < w, false );
23 BOOST_CHECK_EQUAL( v <= w, true );
24 BOOST_CHECK_EQUAL( v > w, false );
25 BOOST_CHECK_EQUAL( v >= w, true );
27 BOOST_CHECK_EQUAL( v.asString(), "" );
30 BOOST_AUTO_TEST_CASE(contenttype_val)
32 BOOST_CHECK_THROW( ContentType( " " ), std::invalid_argument );
34 BOOST_CHECK_THROW( ContentType( "//" ), std::invalid_argument );
35 BOOST_CHECK_THROW( ContentType( "/ " ), std::invalid_argument );
37 BOOST_CHECK_THROW( ContentType( "/", "a" ), std::invalid_argument );
38 BOOST_CHECK_THROW( ContentType( "a", "/" ), std::invalid_argument );
40 BOOST_CHECK_THROW( ContentType( " ", "a" ), std::invalid_argument );
41 BOOST_CHECK_THROW( ContentType( "a", " " ), std::invalid_argument );
44 BOOST_AUTO_TEST_CASE(contenttype_cmp)
46 std::set<ContentType> c( {
48 ContentType( "/" ), // == ""
50 ContentType( "a/" ), // == "a"
52 ContentType( "" , "a" ), // == "/a"
58 std::set<ContentType>::const_iterator i = c.begin();
59 BOOST_CHECK_EQUAL( *(i++), ContentType() );
60 BOOST_CHECK_EQUAL( *(i++), ContentType( "", "a" ) );
61 BOOST_CHECK_EQUAL( *(i++), ContentType( "a", "" ) );
62 BOOST_CHECK_EQUAL( *(i++), ContentType( "a", "b" ) );
63 BOOST_CHECK_EQUAL( *(i++), ContentType( "b", "b" ) );
64 BOOST_CHECK_EQUAL( *(i++), ContentType( "b", "c" ) );
65 BOOST_CHECK( i == c.end() );