From: Tomek Mrugalski Date: Thu, 25 Oct 2018 10:47:53 +0000 (+0200) Subject: [#65,!96] Now both MapElement and ListElement have functional empty() X-Git-Tag: 65-libyang-finish-doc_base~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=206ce1b44da29b558385198a8aee4fc591b3638d;p=thirdparty%2Fkea.git [#65,!96] Now both MapElement and ListElement have functional empty() --- diff --git a/src/lib/cc/data.h b/src/lib/cc/data.h index 2730a1a791..a8989f09fa 100644 --- a/src/lib/cc/data.h +++ b/src/lib/cc/data.h @@ -697,6 +697,8 @@ public: } bool equals(const Element& other) const; + + bool empty() const { return (m.empty()); } }; /// Checks whether the given ElementPtr is a NULL pointer diff --git a/src/lib/cc/tests/data_unittests.cc b/src/lib/cc/tests/data_unittests.cc index e26363e79c..f8d60a96bf 100644 --- a/src/lib/cc/tests/data_unittests.cc +++ b/src/lib/cc/tests/data_unittests.cc @@ -650,6 +650,8 @@ TEST(Element, MapElement) { EXPECT_TRUE(isNull(el->get("value3"))); + EXPECT_FALSE(el->empty()); + el->set("value3", Element::create(56176)); EXPECT_EQ(el->get("value3")->intValue(), 56176); @@ -1340,4 +1342,23 @@ TEST(Element, getPositionCommented) { EXPECT_EQ(14, level2_el->getPosition().pos_); EXPECT_EQ("kea.conf", level2_el->getPosition().file_); } + +TEST(Element, empty) { + + // Let's try Map first + ElementPtr m = Element::createMap(); + EXPECT_TRUE(m->empty()); + m->set("something", Element::create(123)); + EXPECT_FALSE(m->empty()); + m->remove("something"); + EXPECT_TRUE(m->empty()); + + // Now do the same with list + ElementPtr l = Element::createList(); + EXPECT_TRUE(l->empty()); + l->add(Element::create(123)); + EXPECT_FALSE(l->empty()); + l->remove(0); + EXPECT_TRUE(l->empty()); +} }