X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2F80221Bundle%2FMIHPacket.test.cc;h=64d2ff1b76c25e14114f426c3411e4aa1fa3cf86;hb=4a99bad0289a65567e85cb51bd357a34562b2c04;hp=31a7cdb78895bfd1a86fbab20a1714e5476c6458;hpb=29a39b247b75454ad25f3f9dc7a524debf8e805c;p=senf.git diff --git a/senf/Packets/80221Bundle/MIHPacket.test.cc b/senf/Packets/80221Bundle/MIHPacket.test.cc index 31a7cdb..64d2ff1 100644 --- a/senf/Packets/80221Bundle/MIHPacket.test.cc +++ b/senf/Packets/80221Bundle/MIHPacket.test.cc @@ -129,7 +129,8 @@ BOOST_AUTO_UNIT_TEST(MIHPacket_create_mac) 0x02, 0x0c, // type, length 0x5c, 0x07, 0x5c, 0x08, 0x5c, 0x09, 0x5c, 0x0a, 0x5c, 0x0b, 0x5c, 0x0c // value (nai-encoded) }; - BOOST_CHECK(equal( mihPacket.data().begin(), mihPacket.data().end(), data )); + SENF_CHECK_EQUAL_COLLECTIONS( data, data+sizeof(data), + mihPacket.data().begin(), mihPacket.data().end() ); BOOST_CHECK_EQUAL( mihPacket->src_mihfId().asMACAddress(), MACAddress::from_string("01:02:03:04:05:06")); @@ -159,7 +160,8 @@ BOOST_AUTO_UNIT_TEST(MIHPacket_create_inet4) 0x02, 0x08, // type, length 0x5c, 0x84, 0x5c, 0x85, 0x5c, 0x86, 0x5c, 0x87 // value (nai-encoded) }; - BOOST_CHECK(equal( mihPacket.data().begin(), mihPacket.data().end(), data )); + SENF_CHECK_EQUAL_COLLECTIONS( data, data+sizeof(data), + mihPacket.data().begin(), mihPacket.data().end() ); BOOST_CHECK_EQUAL( mihPacket->src_mihfId().asINet4Address(), INet4Address::from_string("128.129.130.131")); @@ -197,7 +199,8 @@ BOOST_AUTO_UNIT_TEST(MIHPacket_create_inet6) 0x5c, 0x00, 0x5c, 0x00, 0x5c, 0xff, 0x5c, 0xff, 0x5c, 0x05, 0x5c, 0x06, 0x5c, 0x07, 0x5c, 0x08 }; - BOOST_CHECK(equal( mihPacket.data().begin(), mihPacket.data().end(), data )); + SENF_CHECK_EQUAL_COLLECTIONS( data, data+sizeof(data), + mihPacket.data().begin(), mihPacket.data().end() ); BOOST_CHECK_EQUAL( mihPacket->src_mihfId().asINet6Address(), INet6Address::from_string("::ffff:1.2.3.4")); @@ -213,7 +216,7 @@ BOOST_AUTO_UNIT_TEST(MIHPayload_parse) // MIH header 0x10, 0x54, 0x00, 0x00, 0x00, 0x15, // variable payload length: - 0x00, 0x2a, + 0x00, 0x29, // source MIHF_ID TLV: 0x01, 0x0f, // type, length 0x73, 0x65, 0x6e, 0x66, 0x40, 0x62, 0x65, 0x72, 0x6c, @@ -226,29 +229,33 @@ BOOST_AUTO_UNIT_TEST(MIHPayload_parse) 0x0a, // first bit not set, length=10 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, // value // second test tlv - 0x43, // type - 0x05, // first bit not set, length=5 - 0x1a, 0x2b, 0x3c, 0x4d, 0x5e // value + 0x0c, // type + 0x04, // first bit not set, length=4 + 0x1a, 0x2b, 0x3c, 0x4d // value }; MIHPacket mihPacket (MIHPacket::create(data)); - BOOST_CHECK_EQUAL( mihPacket->payloadLength(), 42u); + BOOST_CHECK_EQUAL( mihPacket->payloadLength(), 41u); - 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()); + BOOST_CHECK_EQUAL( mihPayload->tlvList().size(), 2u); + MIHGenericPayloadPacket::Parser::tlvList_t::container tlvListContainer ( + mihPayload->tlvList()); - MIHGenericTLVPacket::Parser tlv1 = *tlv_list_container.begin(); + MIHGenericTLVParser tlv1 = *tlvListContainer.begin(); BOOST_CHECK_EQUAL( tlv1.type(), 0x42); BOOST_CHECK_EQUAL( tlv1.length(), 0x0au); BOOST_CHECK_EQUAL( tlv1.value().size(), 0x0a); - MIHGenericTLVPacket::Parser 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); + MIHGenericTLVParser tlv2 = *boost::next(tlvListContainer.begin()); + BOOST_CHECK_EQUAL( tlv2.type(), 0x0c); + BOOST_CHECK_EQUAL( tlv2.length(), 0x04u); + BOOST_CHECK_EQUAL( tlv2.value().size(), 0x04); + + std::ostringstream oss (std::ostringstream::out); + SENF_CHECK_NO_THROW( mihPayload.dump( oss)); } @@ -260,23 +267,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::tlvList_t::container tlvListContainer ( + mihPayload->tlvList() ); + unsigned char tlv1_value[] = { - 0x1a, 0x2b, 0x3c, 0x4d, 0x5e }; - MIHGenericTLVPacket tlv2 = (MIHGenericTLVPacket::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 ( tlvListContainer.push_back_space()); + tlv1.type() = 0x42; + tlv1.value( tlv1_value); unsigned char tlv2_value[] = { - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09 }; - MIHGenericTLVPacket tlv1 (MIHGenericTLVPacket::create()); - tlv1->type() = 0x42; - tlv1->value( tlv2_value); - tlv1.finalizeThis(); - mihPayload->tlv_list().push_front( tlv1); + 0x1a, 0x2b, 0x3c, 0x4d }; + MIHGenericTLVParser tlv2 ( tlvListContainer.push_back_space()); + tlv2.type() = 0x0c; + tlv2.value( tlv2_value); mihPacket.finalizeAll(); @@ -284,7 +289,7 @@ BOOST_AUTO_UNIT_TEST(MIHPayload_create) // MIH header 0x10, 0x54, 0x00, 0x00, 0x00, 0x15, // variable payload length: - 0x00, 0x2a, + 0x00, 0x29, // source MIHF_ID TLV: 0x01, 0x0f, // type, length 0x73, 0x65, 0x6e, 0x66, 0x40, 0x62, 0x65, 0x72, 0x6c, @@ -297,11 +302,10 @@ BOOST_AUTO_UNIT_TEST(MIHPayload_create) 0x0a, // first bit not set, length=10 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, // value // second test tlv - 0x43, // type - 0x05, // first bit not set, length=5 - 0x1a, 0x2b, 0x3c, 0x4d, 0x5e // value + 0x0c, // type + 0x04, // first bit not set, length=4 + 0x1a, 0x2b, 0x3c, 0x4d // value }; - SENF_CHECK_EQUAL_COLLECTIONS( data, data+sizeof(data), mihPacket.data().begin(), mihPacket.data().end() ); }