From: Tomek Mrugalski Date: Thu, 6 Feb 2014 19:08:09 +0000 (+0100) Subject: [3274] Added new file for classify unittests. X-Git-Tag: bind10-1.2.0beta1-release~57^2~1^2~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=98b660fab463b0dc07aea012192d064ddfc7194c;p=thirdparty%2Fkea.git [3274] Added new file for classify unittests. --- diff --git a/src/lib/dhcp/tests/Makefile.am b/src/lib/dhcp/tests/Makefile.am index 6b3683d73b..69f1d50bec 100644 --- a/src/lib/dhcp/tests/Makefile.am +++ b/src/lib/dhcp/tests/Makefile.am @@ -27,6 +27,7 @@ if HAVE_GTEST TESTS += libdhcp++_unittests libdhcp___unittests_SOURCES = run_unittests.cc +libdhcp___unittests_SOURCES += classify_unittest.cc libdhcp___unittests_SOURCES += hwaddr_unittest.cc libdhcp___unittests_SOURCES += iface_mgr_unittest.cc libdhcp___unittests_SOURCES += libdhcp++_unittest.cc diff --git a/src/lib/dhcp/tests/classify_unittest.cc b/src/lib/dhcp/tests/classify_unittest.cc new file mode 100644 index 0000000000..cf978ce1a3 --- /dev/null +++ b/src/lib/dhcp/tests/classify_unittest.cc @@ -0,0 +1,52 @@ +// Copyright (C) 2011-2013 Internet Systems Consortium, Inc. ("ISC") +// +// Permission to use, copy, modify, and/or distribute this software for any +// purpose with or without fee is hereby granted, provided that the above +// copyright notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH +// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +// AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, +// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +// PERFORMANCE OF THIS SOFTWARE. + +#include +#include +#include + +using namespace isc::dhcp; + +// Trivial test for now as ClientClass is a std::string. +TEST(ClassifyTest, ClientClass) { + + ClientClass x("foo"); + EXPECT_EQ("foo", x); + + x = "baz"; + EXPECT_EQ("baz", x); +} + +// Checks if ClientClasses object is able to store classes' names and then +// properly return values of contains() method. +TEST(ClassifyTest, ClientClasses) { + ClientClasses classes; + + EXPECT_FALSE(classes.contains("")); + EXPECT_FALSE(classes.contains("alpha")); + EXPECT_FALSE(classes.contains("beta")); + EXPECT_FALSE(classes.contains("gamma")); + + classes.insert("beta"); + EXPECT_FALSE(classes.contains("")); + EXPECT_FALSE(classes.contains("alpha")); + EXPECT_TRUE (classes.contains("beta")); + EXPECT_FALSE(classes.contains("gamma")); + + classes.insert("alpha"); + classes.insert("gamma"); + EXPECT_TRUE (classes.contains("alpha")); + EXPECT_TRUE (classes.contains("beta")); + EXPECT_TRUE (classes.contains("gamma")); +}