X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FSocket%2FProtocols%2FINet%2FINet4Address.test.cc;h=ee651318107d9cdd9ee0b1c177303e0c037e079c;hb=51b24c3227717ce5ad8111a99c2d7eea5fa0bd8d;hp=a4b14410de8513e131c6cabb23ec7f36169f86ce;hpb=26610f603ebdd465307b9621f532c1fe19fd5571;p=senf.git diff --git a/senf/Socket/Protocols/INet/INet4Address.test.cc b/senf/Socket/Protocols/INet/INet4Address.test.cc index a4b1441..ee65131 100644 --- a/senf/Socket/Protocols/INet/INet4Address.test.cc +++ b/senf/Socket/Protocols/INet/INet4Address.test.cc @@ -2,23 +2,28 @@ // // 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 -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. +// The contents of this file are subject to the Fraunhofer FOKUS Public License +// Version 1.0 (the "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// http://senf.berlios.de/license.html // -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. +// The Fraunhofer FOKUS Public License Version 1.0 is based on, +// but modifies the Mozilla Public License Version 1.1. +// See the full license text for the amendments. // -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the -// Free Software Foundation, Inc., -// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// Software distributed under the License is distributed on an "AS IS" basis, +// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +// for the specific language governing rights and limitations under the License. +// +// The Original Code is Fraunhofer FOKUS code. +// +// The Initial Developer of the Original Code is Fraunhofer-Gesellschaft e.V. +// (registered association), Hansastraße 27 c, 80686 Munich, Germany. +// All Rights Reserved. +// +// Contributor(s): +// Stefan Bund /** \file \brief INet4Address unit tests */ @@ -31,14 +36,15 @@ #include #include "INet4Address.hh" #include +#include #include #include #define prefix_ -///////////////////////////////cc.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// -BOOST_AUTO_UNIT_TEST(inet4Address) +SENF_AUTO_UNIT_TEST(inet4Address) { using senf::INet4Address; using senf::AddressSyntaxException; @@ -46,7 +52,7 @@ BOOST_AUTO_UNIT_TEST(inet4Address) INet4Address addr (INet4Address::from_string("127.0.0.1")); BOOST_CHECK_EQUAL( addr, INet4Address::Loopback ); - BOOST_CHECK( addr != INet4Address::Broadcast ); + SENF_CHECK_NOT_EQUAL( addr, INet4Address::Broadcast ); addr = INet4Address::from_string("localhost"); BOOST_CHECK_EQUAL( addr, INet4Address::Loopback ); @@ -68,7 +74,7 @@ BOOST_AUTO_UNIT_TEST(inet4Address) BOOST_CHECK( addr ); BOOST_CHECK( ! INet4Address() ); BOOST_CHECK_THROW( INet4Address::from_string(""), AddressSyntaxException ); - BOOST_CHECK( INet4Address::from_string("www.go6.net") != INet4Address::None ); + SENF_CHECK_NOT_EQUAL( INet4Address::from_string("www.go6.net"), INet4Address::None ); BOOST_CHECK_THROW( INet4Address::from_string("invalid.host.fhg.de"), UnknownHostnameException); { @@ -91,7 +97,7 @@ BOOST_AUTO_UNIT_TEST(inet4Address) } } -BOOST_AUTO_UNIT_TEST(inet4Network) +SENF_AUTO_UNIT_TEST(inet4Network) { senf::INet4Network net (senf::INet4Address::Loopback,8); BOOST_CHECK_EQUAL( net.address().address(), 0x7F000000u ); @@ -103,7 +109,7 @@ BOOST_AUTO_UNIT_TEST(inet4Network) BOOST_CHECK_EQUAL( net2.address(), senf::INet4Address::from_string("192.0.0.0") ); BOOST_CHECK_EQUAL( net2.prefix_len(), 16u ); - BOOST_CHECK( net != net2 ); + SENF_CHECK_NOT_EQUAL( net, net2 ); BOOST_CHECK( net.match(senf::INet4Address::from_string("127.0.0.1")) ); BOOST_CHECK( ! net2.match(senf::INet4Address::from_string("127.0.0.1")) ); BOOST_CHECK( ! net.match(net2) ); @@ -117,9 +123,25 @@ BOOST_AUTO_UNIT_TEST(inet4Network) BOOST_CHECK_THROW( senf::INet4Network(""), senf::AddressSyntaxException ); BOOST_CHECK_THROW( senf::INet4Network("192.0.2.0/24/beef"), senf::AddressSyntaxException ); + + { + std::stringstream str; + senf::INet4Network net; + str >> net; + BOOST_CHECK( str.fail()); + } + { + std::stringstream str; + senf::INet4Network net ("128.129.130.131/128"); + str << net; + BOOST_CHECK_EQUAL( str.str(), "128.129.130.131/128"); + str >> net; + BOOST_CHECK( ! str.fail()); + BOOST_CHECK_EQUAL(net, senf::INet4Network("128.129.130.131/128")); + } } -///////////////////////////////cc.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #undef prefix_