X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FProtocols%2FRaw%2FLLAddressing.test.cc;h=5f91dc1c403d3b2f6fe22b343bd6b5133b9a9bb8;hb=81f84badf27b66dbadec9890646ca1193e998505;hp=32e4d31268e0621d5c96f5d3505d6a85b287c966;hpb=cd019de7e5d80122a302577c1907e2a952249260;p=senf.git diff --git a/Socket/Protocols/Raw/LLAddressing.test.cc b/Socket/Protocols/Raw/LLAddressing.test.cc index 32e4d31..5f91dc1 100644 --- a/Socket/Protocols/Raw/LLAddressing.test.cc +++ b/Socket/Protocols/Raw/LLAddressing.test.cc @@ -1,9 +1,9 @@ // $Id$ // // Copyright (C) 2006 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer Satelitenkommunikation (SatCom) -// Stefan Bund +// 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 // it under the terms of the GNU General Public License as published by @@ -20,16 +20,17 @@ // Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// Unit tests +/** \file + \brief LLAddressing unit tests */ //#include "LLAddressing.test.hh" //#include "LLAddressing.test.ih" // Custom includes -#include +#include "../../../Utils/String.hh" #include "LLAddressing.hh" -#include +#include "../../../Utils/auto_unit_test.hh" #include #define prefix_ @@ -37,42 +38,64 @@ BOOST_AUTO_UNIT_TEST(llAddress) { + using senf::LLSocketAddress; + { - senf::LLSocketAddress a; + LLSocketAddress addr; - BOOST_CHECK_EQUAL( a.protocol(), 0u ); - BOOST_CHECK_EQUAL( a.interface(), "" ); - BOOST_CHECK_EQUAL( a.arptype(), 0u ); - BOOST_CHECK_EQUAL( a.pkttype(), senf::LLSocketAddress::Undefined ); - BOOST_CHECK( ! a.address() ); + BOOST_CHECK( ! addr ); + BOOST_CHECK_EQUAL( addr.protocol(), 0u ); + BOOST_CHECK_EQUAL( addr.interface(), "" ); + BOOST_CHECK_EQUAL( addr.arptype(), 0u ); + BOOST_CHECK_EQUAL( addr.pkttype(), LLSocketAddress::Undefined ); + BOOST_CHECK( ! addr.address() ); - a.address(senf::MACAddress::from_string("05-10-1A-2f-25-30")); - BOOST_CHECK_EQUAL( boost::lexical_cast(a.address()), "05:10:1a:2f:25:30" ); - a.interface("lo"); - BOOST_CHECK_EQUAL( a.interface(), "lo" ); - a.protocol(123); - BOOST_CHECK_EQUAL( a.protocol(), 123u ); + senf::MACAddress mac (senf::MACAddress::from_string("05-10-1A-2f-25-30")); + addr.address( mac); + BOOST_CHECK( addr ); + BOOST_CHECK_EQUAL( addr, LLSocketAddress(mac)); + BOOST_CHECK_EQUAL( addr, LLSocketAddress(addr)); + BOOST_CHECK_EQUAL( addr.address(), mac ); + addr.interface("lo"); + BOOST_CHECK_EQUAL( addr.interface(), "lo" ); + addr.protocol(123); + BOOST_CHECK_EQUAL( addr.protocol(), 123u ); } { - senf::LLSocketAddress a ( + LLSocketAddress addr ( senf::MACAddress::from_string("11-12-13-14-15-16"), "lo"); - BOOST_CHECK_EQUAL( a.protocol(), 0u ); - BOOST_CHECK_EQUAL( a.interface(), "lo" ); - BOOST_CHECK_EQUAL( a.arptype(), 0u ); - BOOST_CHECK_EQUAL( a.pkttype(), senf::LLSocketAddress::Undefined ); - BOOST_CHECK_EQUAL( boost::lexical_cast(a.address()), "11:12:13:14:15:16" ); + BOOST_CHECK_EQUAL( addr.protocol(), 0u ); + BOOST_CHECK_EQUAL( addr.interface(), "lo" ); + BOOST_CHECK_EQUAL( addr.arptype(), 0u ); + BOOST_CHECK_EQUAL( addr.pkttype(), LLSocketAddress::Undefined ); + BOOST_CHECK_EQUAL( senf::str(addr.address()), "11:12:13:14:15:16" ); } { - senf::LLSocketAddress a (123, "lo"); + LLSocketAddress addr (123, "lo"); - BOOST_CHECK_EQUAL( a.protocol(), 123u ); - BOOST_CHECK_EQUAL( a.interface(), "lo" ); - BOOST_CHECK_EQUAL( a.arptype(), 0u ); - BOOST_CHECK_EQUAL( a.pkttype(), 0u ); - BOOST_CHECK( ! a.address() ); + BOOST_CHECK_EQUAL( addr.protocol(), 123u ); + BOOST_CHECK_EQUAL( addr.interface(), "lo" ); + BOOST_CHECK_EQUAL( addr.arptype(), 0u ); + BOOST_CHECK_EQUAL( addr.pkttype(), LLSocketAddress::Undefined ); + BOOST_CHECK( ! addr.address() ); + } + + { + BOOST_CHECK_THROW( LLSocketAddress addr("SENF_TEST_INVALID_INTERFACENAME"), + senf::AddressSyntaxException ); + + LLSocketAddress addr ("lo"); + + BOOST_CHECK_EQUAL( addr.protocol(), 0u ); + BOOST_CHECK_EQUAL( addr.interface(), "lo" ); + BOOST_CHECK_EQUAL( addr.arptype(), 0u ); + BOOST_CHECK_EQUAL( addr.pkttype(), LLSocketAddress::Undefined ); + BOOST_CHECK( ! addr.address() ); + + BOOST_CHECK_EQUAL( LLSocketAddress("").interface(), "" ); } }