Files
secondo/Algebras/DBService2/HostTest.cpp

103 lines
2.7 KiB
C++
Raw Normal View History

2026-01-23 17:03:45 +08:00
/*
1.1.1 Class Implementation
----
This file is part of SECONDO.
Copyright (C) 2017,
Faculty of Mathematics and Computer Science,
Database Systems for New Applications.
SECONDO 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.
SECONDO 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.
You should have received a copy of the GNU General Public License
along with SECONDO; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
----
*/
#include "catch.hh"
#include "Host.hpp"
using namespace DBService;
using namespace std;
TEST_CASE("Constructing Hosts")
{
SECTION("Constructing a simple Host")
{
Host host;
REQUIRE(host.getHostname() == "");
// Testing the overloaded != operator
REQUIRE(!(host.getHostname() != ""));
}
SECTION("Two empty hosts should be equal")
{
Host host1;
Host host2;
// They are string-equal and object-equal
REQUIRE(host1.getHostname() == host2.getHostname());
REQUIRE(host1 == host2);
}
SECTION("An empty host and a non-empty host shouldn't be equal")
{
Host host1;
Host host2("localhost");
// They are string-unequal and object-unequal
REQUIRE(host1.getHostname() != host2.getHostname());
REQUIRE(host1 != host2);
}
SECTION("Two equal non-empty dns hosts should be considered equal")
{
Host host1("localhost");
Host host2("localhost");
REQUIRE(host1.getHostname() == host2.getHostname());
REQUIRE(host1 == host2);
}
SECTION("Two equal non-empty IP hosts should be considered equal")
{
Host host1("127.0.0.1");
Host host2("127.0.0.1");
REQUIRE(host1.getHostname() == host2.getHostname());
REQUIRE(host1 == host2);
}
SECTION("Two hosts should be considered equal if they resolve to the same IP \
address") {
Host host1("localhost");
Host host2("127.0.0.1");
// They are string-unequal but object-equal due to the DNS resolving.
REQUIRE(host1.getHostname() != host2.getHostname());
REQUIRE(host1 == host2);
}
SECTION("Two hosts should be considered unequal if they are different and \
one of them doesn't resolve") {
Host host1("localhost");
Host host2("nonlocalhost");
// They are string-unequal but object-equal due to the DNS resolving.
REQUIRE(host1.getHostname() != host2.getHostname());
REQUIRE(host1 != host2);
}
}