X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FPacketParser.test.cc;h=66d84f36bb137801f1fd6adc50bf1d94b6e4110d;hb=fb2fe88ee9a9d2a777ecaf3327d04b60479fcc8d;hp=cfa0990c3c491367a9ddbea164f9d86aa71e5cd6;hpb=d6abda313f70c8a849c5e3f3bbfc12ce301789f1;p=senf.git diff --git a/Packets/PacketParser.test.cc b/Packets/PacketParser.test.cc index cfa0990..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 @@ -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_PARSER_FIELD( name, senf::Parse_UInt16 ); - SENF_PARSER_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_PARSER_FIELD( name, senf::Parse_UInt16 ); - SENF_PARSER_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