Skip to content
Snippets Groups Projects
Commit cb873b2c authored by sbund's avatar sbund
Browse files

static cast unit testing

parent 594e3fd7
No related branches found
No related tags found
No related merge requests found
......@@ -64,8 +64,11 @@ BOOST_AUTO_UNIT_TEST(clientSocketHandle)
>::policy OtherSocketPolicy;
typedef sl::SocketHandle<OtherSocketPolicy> OtherSocketHandle;
OtherSocketHandle ssh (myh);
ssh = myh;
OtherSocketHandle osh (myh);
osh = myh;
typedef sl::ClientSocketHandle<sl::test::SomeProtocol::Policy> SomeSocketHandle;
SomeSocketHandle ssh =
sl::static_socket_cast<SomeSocketHandle>(osh);
}
// reading and writing
......
......@@ -48,8 +48,18 @@ BOOST_AUTO_UNIT_TEST(protocolClientSocketHandle)
typedef satcom::lib::ProtocolClientSocketHandle<MyProtocol> MySocketHandle;
{
typedef satcom::lib::MakeSocketPolicy<
satcom::lib::test::SomeFramingPolicy,
satcom::lib::test::SomeReadPolicy,
satcom::lib::test::SomeWritePolicy
>::policy OtherSocketPolicy;
typedef satcom::lib::SocketHandle<OtherSocketPolicy> OtherSocketHandle;
MySocketHandle h;
h.protocol();
OtherSocketHandle osh (h);
h = satcom::lib::static_socket_cast<MySocketHandle>(osh);
}
{
......
......@@ -49,7 +49,18 @@ BOOST_AUTO_UNIT_TEST(protocolServerSocketHandle)
typedef satcom::lib::ProtocolServerSocketHandle<MyProtocol> MySocketHandle;
{
typedef satcom::lib::MakeSocketPolicy<
satcom::lib::test::SomeFramingPolicy,
satcom::lib::test::SomeReadPolicy,
satcom::lib::test::SomeWritePolicy
>::policy OtherSocketPolicy;
typedef satcom::lib::SocketHandle<OtherSocketPolicy> OtherSocketHandle;
MySocketHandle h;
h.protocol();
OtherSocketHandle osh (h);
h = satcom::lib::static_socket_cast<MySocketHandle>(osh);
MySocketHandle::ClientSocketHandle client = h.accept();
BOOST_CHECK_EQUAL( client.fd(), -1 );
......
......@@ -61,8 +61,11 @@ BOOST_AUTO_UNIT_TEST(serverSocketHandle)
typedef sl::SocketHandle<OtherSocketPolicy> OtherSocketHandle;
MySocketHandle myh;
OtherSocketHandle ssh (myh);
ssh = myh;
OtherSocketHandle osh (myh);
osh = myh;
typedef sl::ServerSocketHandle<sl::test::SomeProtocol::Policy> SomeSocketHandle;
SomeSocketHandle ssh = sl::static_socket_cast<SomeSocketHandle>(osh);
BOOST_CHECK_NO_THROW( myh.bind(0) );
BOOST_CHECK_EQUAL( myh.local(), 2u );
......
......@@ -38,6 +38,22 @@ namespace lib {
(ReadPolicy) \
(WritePolicy) \
(BufferingPolicy)
// The implementation file will for each Policy declared above
// define the following (SomePolicy is one of the above):
//
// struct SomePolicyBase;
// typedef UndefinedSomePolicy;
// template SomePolicyIs< SocketPolicy, Axis >
// template IfSomePolicyIs< SocketPolicy, Axis >
// template IfSomePolicyIsNot< SocketPolicy, Axis >
//
// Additionally the following are defined:
//
// class SocketPolicyBase
// template SocketPolicy< ..policies.. >
// template MakeSocketPolicy< ..args.. >
// template SocketPolicyIsBaseOf< Base, Derived >
}}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment