X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FPacketImpl.test.cc;h=c87accff93a0d3181b7eae9f5a645a9dbf9295f1;hb=78a6e233083efa63a9cd0684a92abc64202a9ee7;hp=a6c08df36be9baadc9e5a4093f888881954d845e;hpb=767a76da8e5b96a69b620e44d32e0a1b04005679;p=senf.git diff --git a/senf/Packets/PacketImpl.test.cc b/senf/Packets/PacketImpl.test.cc index a6c08df..c87accf 100644 --- a/senf/Packets/PacketImpl.test.cc +++ b/senf/Packets/PacketImpl.test.cc @@ -30,6 +30,7 @@ #include "Packets.hh" #include "main.test.hh" +#include #include #include @@ -58,9 +59,9 @@ SENF_AUTO_UNIT_TEST(packetImpl_mem) // refcount .. - p->add_ref(2); - BOOST_CHECK_EQUAL(p->refcount(), 3); - p->release(2); + p->add_ref(); + BOOST_CHECK_EQUAL(p->refcount(), 2); + p->release(); BOOST_CHECK_EQUAL(p->refcount(), 1); { @@ -74,7 +75,7 @@ SENF_AUTO_UNIT_TEST(packetImpl_mem) senf::pool_alloc_mixin< senf::PacketInterpreter >::allocCounter(), 1u); #endif senf::PacketInterpreterBase::ptr pi2 (pi); - BOOST_CHECK_EQUAL(p->refcount(), 3); + BOOST_CHECK_EQUAL(p->refcount(), 2); } BOOST_CHECK_EQUAL(p->refcount(),1); @@ -106,7 +107,7 @@ SENF_AUTO_UNIT_TEST(packetImpl_data) senf::PacketInterpreterBase::ptr pi (senf::PacketInterpreter::create()); senf::detail::PacketImpl * p (senf::detail::packet::test::TestDriver::impl(pi)); - senf::detail::PacketImpl::byte data[] = + senf::detail::PacketImpl::byte data[] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 }; p->insert(&pi->data(),p->begin(),data, data+sizeof(data)); @@ -114,7 +115,7 @@ SENF_AUTO_UNIT_TEST(packetImpl_data) BOOST_CHECK_EQUAL(p->begin()[0], 0x00u); BOOST_CHECK_EQUAL(p->begin()[7], 0x07u); BOOST_CHECK_EQUAL(pi->data().size(), p->size()); - + p->insert(&pi->data(),p->begin()+2,0xf0u); BOOST_CHECK_EQUAL(p->size(),9u); BOOST_CHECK_EQUAL(p->begin()[8], 0x07u); @@ -131,7 +132,7 @@ SENF_AUTO_UNIT_TEST(packetImpl_data) BOOST_CHECK_EQUAL(p->size(),16u); BOOST_CHECK_EQUAL(p->begin()[0], 0x01u); BOOST_CHECK_EQUAL(pi->data().size(), p->size()); - + p->erase(&pi->data(),p->begin()+2, p->begin()+7); BOOST_CHECK_EQUAL(p->size(),11u); BOOST_CHECK_EQUAL(p->begin()[2], 0x07u); @@ -153,25 +154,30 @@ SENF_AUTO_UNIT_TEST(packetImpl_interpreters) p->add_ref(); { - senf::PacketInterpreterBase::ptr pi2 ( + senf::PacketInterpreterBase::ptr pi3 ( senf::detail::packet::test::TestDriver::create( p,p->begin(),p->end(),senf::PacketInterpreterBase::Append)); - senf::PacketInterpreterBase::ptr pi3 ( + senf::PacketInterpreterBase::ptr pi4 ( senf::detail::packet::test::TestDriver::create( p,p->end(),p->end(),senf::PacketInterpreterBase::Append)); senf::PacketInterpreterBase::ptr pi1 ( senf::detail::packet::test::TestDriver::create( p,p->begin(),p->end(),senf::PacketInterpreterBase::Prepend)); + senf::PacketInterpreterBase::ptr pi2 ( + senf::detail::packet::test::TestDriver::create( + p,p->begin(),p->end(),pi3)); BOOST_CHECK_EQUAL(p->first(), pi1.get()); BOOST_CHECK_EQUAL(p->next(p->first()), pi2.get()); BOOST_CHECK_EQUAL(p->next(p->next(p->first())), pi3.get()); - BOOST_CHECK( !p->next(p->next(p->next(p->first()))) ); + BOOST_CHECK_EQUAL(p->next(p->next(p->next(p->first()))), pi4.get()); + BOOST_CHECK( !p->next(p->next(p->next(p->next(p->first())))) ); - BOOST_CHECK_EQUAL(p->last(), pi3.get()); - BOOST_CHECK_EQUAL(p->prev(p->last()), pi2.get()); - BOOST_CHECK_EQUAL(p->prev(p->prev(p->last())), pi1.get()); - BOOST_CHECK( !p->prev(p->prev(p->prev(p->last()))) ); + BOOST_CHECK_EQUAL(p->last(), pi4.get()); + BOOST_CHECK_EQUAL(p->prev(p->last()), pi3.get()); + BOOST_CHECK_EQUAL(p->prev(p->prev(p->last())), pi2.get()); + BOOST_CHECK_EQUAL(p->prev(p->prev(p->prev(p->last()))), pi1.get()); + BOOST_CHECK( !p->prev(p->prev(p->prev(p->prev(p->last())))) ); p->insert(&pi2->data(),p->begin(),10,0x00u); BOOST_CHECK_EQUAL(pi1->data().size(), 10u); @@ -180,12 +186,12 @@ SENF_AUTO_UNIT_TEST(packetImpl_interpreters) BOOST_CHECK( pi1->data().begin() == p->begin() ); BOOST_CHECK( pi2->data().begin() == p->begin() ); BOOST_CHECK( pi3->data().begin() == p->end() ); - + p->insert(&pi3->data(),p->end(), 0x00u); BOOST_CHECK_EQUAL(pi1->data().size(), 11u); BOOST_CHECK_EQUAL(pi2->data().size(), 11u); BOOST_CHECK_EQUAL(pi3->data().size(), 1u); - + p->insert(&pi1->data(),p->end(), 2, 0x00u); BOOST_CHECK_EQUAL(pi1->data().size(), 13u); BOOST_CHECK_EQUAL(pi2->data().size(), 11u);