Packets/80221Bundle: fix for 64bit
[senf.git] / senf / Packets / 80221Bundle / MIHPacket.test.cc
index 0e74234..1a84a82 100644 (file)
@@ -234,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>() );
-    MIHPayloadPacket mihPayload (mihPacket.next().as<MIHPayloadPacket>());
+    BOOST_REQUIRE( mihPacket.next().is<MIHGenericPayloadPacket>() );
+    MIHGenericPayloadPacket mihPayload (mihPacket.next().as<MIHGenericPayloadPacket>());
 
     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);
@@ -260,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();
 
@@ -302,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() );    
 }