X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FProtocols%2FRaw%2FLLAddressing.test.cc;h=5f91dc1c403d3b2f6fe22b343bd6b5133b9a9bb8;hb=81f84badf27b66dbadec9890646ca1193e998505;hp=7e1a06029d14d10f9467473305ddd9cf105c8e0a;hpb=6bb3fa3caaa41dab4d5b451ca27e70f9e55e49d6;p=senf.git diff --git a/Socket/Protocols/Raw/LLAddressing.test.cc b/Socket/Protocols/Raw/LLAddressing.test.cc index 7e1a060..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,15 +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 "../../../Utils/String.hh" #include "LLAddressing.hh" -#include +#include "../../../Utils/auto_unit_test.hh" #include #define prefix_ @@ -36,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(), 0u ); - BOOST_CHECK_EQUAL( 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::llAddress("05-10-1A-2f-25-30")); - BOOST_CHECK_EQUAL( senf::llAddress(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 ( - senf::llAddress("11-12-13-14-15-16"), "lo"); + 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(), 0u ); - BOOST_CHECK_EQUAL( senf::llAddress(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_EQUAL( senf::llAddress(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(), "" ); } }