X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FPacketParser.test.cc;h=66d84f36bb137801f1fd6adc50bf1d94b6e4110d;hb=165ec46dc3d091c354ef8dbda67dcf7b1a97fc7d;hp=bde87e1186d2f7bd11db61cd9ea48e95f401c130;hpb=54eed72c506b09ef5b4be0b62fecedfbc0e3f261;p=senf.git diff --git a/Packets/PacketParser.test.cc b/Packets/PacketParser.test.cc index bde87e1..66d84f3 100644 --- a/Packets/PacketParser.test.cc +++ b/Packets/PacketParser.test.cc @@ -1,6 +1,8 @@ -// Copyright (C) 2007 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer Satelitenkommunikation (SatCom) +// $Id$ +// +// Copyright (C) 2007 +// Fraunhofer Institute for Open Communication Systems (FOKUS) +// Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund // // This program is free software; you can redistribute it and/or modify @@ -27,7 +29,7 @@ // Custom includes #include "Packets.hh" -#include +#include "../Utils/auto_unit_test.hh" #include #define prefix_ @@ -40,7 +42,7 @@ namespace { { # include SENF_FIXED_PARSER() SENF_PARSER_FINALIZE(SimpleParser); - + using senf::PacketParserBase::check; using senf::PacketParserBase::validate; }; @@ -49,8 +51,8 @@ namespace { { # include SENF_FIXED_PARSER() - SENF_PARSE_FIELD( name, senf::Parse_UInt16 ); - SENF_PARSE_FIELD( id, senf::Parse_Int32 ); + SENF_PARSER_FIELD( name, senf::UInt16Parser ); + SENF_PARSER_FIELD( id, senf::Int32Parser ); SENF_PARSER_FINALIZE(FooParser); }; @@ -59,8 +61,8 @@ namespace { { # include SENF_PARSER() - SENF_PARSE_FIELD( name, senf::Parse_UInt16 ); - SENF_PARSE_FIELD( id, senf::Parse_Int32 ); + SENF_PARSER_FIELD( name, senf::UInt16Parser ); + SENF_PARSER_FIELD( id, senf::Int32Parser ); SENF_PARSER_FINALIZE(BarParser); }; @@ -68,7 +70,8 @@ namespace { BOOST_AUTO_UNIT_TEST(packetParserBase) { - senf::PacketInterpreter::ptr pi (senf::PacketInterpreter::create(6u)); + senf::PacketInterpreter::ptr pi (senf::PacketInterpreter::create( + senf::PacketInterpreterBase::size_type(6u))); SimpleParser p (pi->data().begin(),&pi->data()); BOOST_CHECK( pi->data().begin() == p.i() ); @@ -81,7 +84,7 @@ BOOST_AUTO_UNIT_TEST(packetParserBase) // otherwise ... BOOST_CHECK_EQUAL( FooParser::fixed_bytes+0, 6u ); BOOST_CHECK_EQUAL( BarParser(pi->data().begin(),&pi->data()).bytes(), 6u ); - BOOST_CHECK_EQUAL( senf::bytes(senf::Parse_UInt16(pi->data().begin(),&pi->data())), 2u ); + BOOST_CHECK_EQUAL( senf::bytes(senf::UInt16Parser(pi->data().begin(),&pi->data())), 2u ); BOOST_CHECK_EQUAL( senf::bytes(FooParser(pi->data().begin(),&pi->data())), 6u ); BOOST_CHECK_EQUAL( senf::bytes(BarParser(pi->data().begin(),&pi->data())), 6u ); @@ -89,31 +92,10 @@ BOOST_AUTO_UNIT_TEST(packetParserBase) BOOST_CHECK_EQUAL( senf::init_bytes::value, 6u ); } -BOOST_AUTO_UNIT_TEST(safePacketParser) -{ - senf::PacketInterpreter::ptr pi (senf::PacketInterpreter::create(6u)); - senf::SafePacketParser p; - - BOOST_CHECK( !p ); - - p = senf::Parse_UInt16(pi->data().begin(),&pi->data()); - - BOOST_CHECK( p ); - (*p) = 0x1234u; - - BOOST_CHECK_EQUAL( (*p), 0x1234u ); - BOOST_CHECK_EQUAL( p->data()[0], 0x12u ); - - p->data().resize(1024u); - BOOST_CHECK_EQUAL( (*p), 0x1234u ); - (*p) = 0x2345u; - BOOST_CHECK_EQUAL( p->data()[0], 0x23u ); -} - ///////////////////////////////cc.e//////////////////////////////////////// #undef prefix_ - + // Local Variables: // mode: c++ // fill-column: 100