X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2F80221Bundle%2FMIHPacket.test.cc;h=1a84a82dcf8dd517ee5dae3f6344471e7dfcb20b;hb=3fe57f6d48f9061fa70628ac832537de30d24b92;hp=e9a040e7ae31e69be2ee099b3228580d61d6c8b1;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/Packets/80221Bundle/MIHPacket.test.cc b/senf/Packets/80221Bundle/MIHPacket.test.cc index e9a040e..1a84a82 100644 --- a/senf/Packets/80221Bundle/MIHPacket.test.cc +++ b/senf/Packets/80221Bundle/MIHPacket.test.cc @@ -28,8 +28,9 @@ // Custom includes #include "MIHPacket.hh" +#include -#include "../../Utils/auto_unit_test.hh" +#include #include #define prefix_ @@ -56,6 +57,16 @@ BOOST_AUTO_UNIT_TEST(MIHPacket_msgId) BOOST_CHECK_EQUAL( mihPacket->messageId(), 0x4c2a ); } +BOOST_AUTO_UNIT_TEST(MIHPacket_create_eth) +{ + EthernetPacket eth (EthernetPacket::create()); + MIHPacket mihPacket (MIHPacket::createAfter(eth)); + eth.finalizeAll(); + BOOST_CHECK_EQUAL( eth->type_length(), 0x8917); + std::ostringstream oss (std::ostringstream::out); + SENF_CHECK_NO_THROW( eth.dump( oss)); +} + BOOST_AUTO_UNIT_TEST(MIHPacket_create_string) { MIHPacket mihPacket (MIHPacket::create()); @@ -223,18 +234,19 @@ BOOST_AUTO_UNIT_TEST(MIHPayload_parse) MIHPacket mihPacket (MIHPacket::create(data)); BOOST_CHECK_EQUAL( mihPacket->payloadLength(), 42u); - BOOST_REQUIRE( mihPacket.next().is() ); - MIHPayloadPacket mihPayload (mihPacket.next().as()); + BOOST_REQUIRE( mihPacket.next().is() ); + MIHGenericPayloadPacket mihPayload (mihPacket.next().as()); BOOST_CHECK_EQUAL( mihPayload->tlv_list().size(), 2u); - MIHPayloadPacketParser::tlv_list_t::container tlv_list_container (mihPayload->tlv_list()); + MIHGenericPayloadPacket::Parser::tlv_list_t::container tlv_list_container ( + mihPayload->tlv_list()); - GenericTLVPacket::Parser tlv1 = *tlv_list_container.begin(); + MIHGenericTLVParser tlv1 = *tlv_list_container.begin(); BOOST_CHECK_EQUAL( tlv1.type(), 0x42); BOOST_CHECK_EQUAL( tlv1.length(), 0x0au); BOOST_CHECK_EQUAL( tlv1.value().size(), 0x0a); - GenericTLVPacket::Parser tlv2 = *boost::next(tlv_list_container.begin()); + MIHGenericTLVParser tlv2 = *boost::next(tlv_list_container.begin()); BOOST_CHECK_EQUAL( tlv2.type(), 0x43); BOOST_CHECK_EQUAL( tlv2.length(), 0x05u); BOOST_CHECK_EQUAL( tlv2.value().size(), 0x05); @@ -249,23 +261,21 @@ BOOST_AUTO_UNIT_TEST(MIHPayload_create) mihPacket->src_mihfId().setString( "senf@berlios.de"); mihPacket->dst_mihfId().setString( "test"); - MIHPayloadPacket mihPayload (MIHPayloadPacket::createAfter(mihPacket)); - + MIHGenericPayloadPacket mihPayload (MIHGenericPayloadPacket::createAfter(mihPacket)); + MIHGenericPayloadPacket::Parser::tlv_list_t::container tlvContainer ( + mihPayload->tlv_list() ); + unsigned char tlv1_value[] = { - 0x1a, 0x2b, 0x3c, 0x4d, 0x5e }; - GenericTLVPacket tlv2 = (GenericTLVPacket::create()); - tlv2->type() = 0x43; - tlv2->value( tlv1_value); - tlv2.finalizeThis(); - mihPayload->tlv_list().push_front( tlv2); + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09 }; + MIHGenericTLVParser tlv1 ( tlvContainer.push_back_space()); + tlv1.type() = 0x42; + tlv1.value( tlv1_value); unsigned char tlv2_value[] = { - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09 }; - GenericTLVPacket tlv1 (GenericTLVPacket::create()); - tlv1->type() = 0x42; - tlv1->value( tlv2_value); - tlv1.finalizeThis(); - mihPayload->tlv_list().push_front( tlv1); + 0x1a, 0x2b, 0x3c, 0x4d, 0x5e }; + MIHGenericTLVParser tlv2 ( tlvContainer.push_back_space()); + tlv2.type() = 0x43; + tlv2.value( tlv2_value); mihPacket.finalizeAll(); @@ -291,7 +301,8 @@ BOOST_AUTO_UNIT_TEST(MIHPayload_create) 0x1a, 0x2b, 0x3c, 0x4d, 0x5e // value }; - BOOST_CHECK(equal( mihPacket.data().begin(), mihPacket.data().end(), data )); + SENF_CHECK_EQUAL_COLLECTIONS( data, data+sizeof(data), + mihPacket.data().begin(), mihPacket.data().end() ); }