From: Razvan Becheriu Date: Fri, 15 Nov 2019 19:38:08 +0000 (+0200) Subject: [#891,!592] updated unit tests X-Git-Tag: Kea-1.7.5~98 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5157eb17e99ca8aff41723d5256d3286acee3b15;p=thirdparty%2Fkea.git [#891,!592] updated unit tests --- diff --git a/src/lib/stats/tests/context_unittest.cc b/src/lib/stats/tests/context_unittest.cc index 0d6320dd21..938b5b58c8 100644 --- a/src/lib/stats/tests/context_unittest.cc +++ b/src/lib/stats/tests/context_unittest.cc @@ -8,8 +8,11 @@ #include #include +#include +using namespace isc::data; using namespace isc::stats; +using namespace std; // Basic test that checks get, add, del methods TEST(ContextTest, basic) { @@ -19,6 +22,10 @@ TEST(ContextTest, basic) { ObservationPtr a(new Observation("alpha", 1.11)); ObservationPtr b(new Observation("beta", 2.22)); ObservationPtr c(new Observation("gamma", 3.33)); + string expected_a = a->getJSON()->str(); + string expected_b = b->getJSON()->str(); + string expected_c = c->getJSON()->str(); + // Context where we will store the observations. StatContext ctx; @@ -43,15 +50,15 @@ TEST(ContextTest, basic) { ObservationPtr from_ctx; EXPECT_NO_THROW(from_ctx = ctx.get("alpha")); ASSERT_TRUE(from_ctx); - EXPECT_EQ(a->getJSON()->str(), from_ctx->getJSON()->str()); + EXPECT_EQ(expected_a, from_ctx->getJSON()->str()); EXPECT_NO_THROW(from_ctx = ctx.get("beta")); ASSERT_TRUE(from_ctx); - EXPECT_EQ(b->getJSON()->str(), from_ctx->getJSON()->str()); + EXPECT_EQ(expected_b, from_ctx->getJSON()->str()); EXPECT_NO_THROW(from_ctx = ctx.get("gamma")); ASSERT_TRUE(from_ctx); - EXPECT_EQ(c->getJSON()->str(), from_ctx->getJSON()->str()); + EXPECT_EQ(expected_c, from_ctx->getJSON()->str()); // Let's try to retrieve non-existing stat EXPECT_NO_THROW(from_ctx = ctx.get("delta")); @@ -65,5 +72,31 @@ TEST(ContextTest, basic) { // Attempt to delete non-existing stat should fail. EXPECT_FALSE(ctx.del("beta")); + + ConstElementPtr result; + EXPECT_NO_THROW(result = ctx.getAll()); + + ASSERT_TRUE(result); + ElementPtr expected_result = Element::createMap(); + expected_result->set("alpha", a->getJSON()); + expected_result->set("gamma", c->getJSON()); + EXPECT_EQ(result->str(), expected_result->str()); + + // Reset all statistics. + EXPECT_NO_THROW(ctx.reset()); + + EXPECT_NO_THROW(from_ctx = ctx.get("alpha")); + ASSERT_TRUE(from_ctx); + EXPECT_NE(expected_a, from_ctx->getJSON()->str()); + EXPECT_EQ(0.0, a->getFloat().first); + + EXPECT_NO_THROW(from_ctx = ctx.get("gamma")); + ASSERT_TRUE(from_ctx); + EXPECT_NE(expected_c, from_ctx->getJSON()->str()); + EXPECT_EQ(0.0, c->getFloat().first); + + // Clear all statistics. + EXPECT_NO_THROW(ctx.clear()); + EXPECT_EQ(0, ctx.size()); }