X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FSocketPolicy.test.cc;h=84a830cbd856fcb4477865706dcc0f2c64519949;hb=3b44557da0af28f1e0e3b8c0e0fb03de6b0d18c7;hp=af167a4679898f6129d4466fb55c2e4cbf1efa8b;hpb=c52cd7d87dbb525c1267aad27391b8b7365dbb57;p=senf.git diff --git a/Socket/SocketPolicy.test.cc b/Socket/SocketPolicy.test.cc index af167a4..84a830c 100644 --- a/Socket/SocketPolicy.test.cc +++ b/Socket/SocketPolicy.test.cc @@ -1,6 +1,6 @@ // $Id$ // -// Copyright (C) 2006 +// Copyright (C) 2006 // Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) // Kompetenzzentrum fuer Satelitenkommunikation (SatCom) // Stefan Bund @@ -38,7 +38,7 @@ #define prefix_ ///////////////////////////////cc.p//////////////////////////////////////// -using namespace satcom::lib; +using namespace senf; namespace { struct INetAddressingPolicy : public AddressingPolicyBase {}; @@ -55,7 +55,7 @@ namespace { struct WritablePolicy : public WritePolicyBase {}; struct UnwritablePolicy : public WritePolicyBase {}; - + struct SocketBufferingPolicy : public BufferingPolicyBase {}; template @@ -65,7 +65,7 @@ namespace { ConvertibleValue(ConvertibleValue const & other) {} template - ConvertibleValue(ConvertibleValue const & other, + ConvertibleValue(ConvertibleValue const & other, typename boost::enable_if< SocketPolicyIsBaseOf >::type * = 0) {} @@ -73,8 +73,8 @@ namespace { { return *this; } template - typename boost::enable_if< SocketPolicyIsBaseOf, - ConvertibleValue >::type const & + typename boost::enable_if< SocketPolicyIsBaseOf, + ConvertibleValue >::type const & operator=(ConvertibleValue const & other) { return *this; } }; @@ -83,7 +83,7 @@ namespace { BOOST_AUTO_UNIT_TEST(socketPolicy) { - // All these checks are really compile-time checks ... + // Most of these checks are really compile-time checks ... typedef MakeSocketPolicy< UnixAddressingPolicy, @@ -97,7 +97,7 @@ BOOST_AUTO_UNIT_TEST(socketPolicy) ReadablePolicy, UnspecifiedWritePolicy, UnspecifiedBufferingPolicy> Policy2; - + BOOST_MPL_ASSERT(( boost::is_same )); typedef MakeSocketPolicy< @@ -121,13 +121,23 @@ BOOST_AUTO_UNIT_TEST(socketPolicy) // The following should fail at compile time // BOOST_MPL_ASSERT(( SocketPolicyIsBaseOf )); - - ConvertibleValue p1; - ConvertibleValue p3(p1); - p3 = p1; - // The following should fail at compile time - // p1 = p3; + { + ConvertibleValue p1; + ConvertibleValue p3(p1); + + p3 = p1; + // The following should fail at compile time + // p1 = p3; + } + + { + Policy1 p1; + Policy3 p3; + + BOOST_CHECK_THROW( Policy1::checkBaseOf(p3), std::bad_cast ); + BOOST_CHECK_NO_THROW( Policy3::checkBaseOf(p1) ); + } } ///////////////////////////////cc.e//////////////////////////////////////// @@ -136,5 +146,10 @@ BOOST_AUTO_UNIT_TEST(socketPolicy) // Local Variables: // mode: c++ -// c-file-style: "satcom" +// fill-column: 100 +// c-file-style: "senf" +// indent-tabs-mode: nil +// ispell-local-dictionary: "american" +// compile-command: "scons -u test" +// comment-column: 40 // End: