TEST(TestMeiElement, TestHasChildren) { MeiElement *p = new Note(); ASSERT_FALSE(p->hasChildren()); p->addChild(new Accid()); ASSERT_TRUE(p->hasChildren("accid")); ASSERT_TRUE(p->hasChildren()); ASSERT_FALSE(p->hasChildren("artic")); }
TEST(TestMeiElement, TestRemoveChild) { MeiElement *p = new MeiElement("note"); MeiElement *c1 = new Accid(); p->addChild(c1); ASSERT_TRUE(p->hasChildren("accid")); ASSERT_EQ(1, p->getChildren().size()); p->removeChild(c1); ASSERT_FALSE(p->hasChildren("accid")); ASSERT_EQ(0, p->getChildren().size()); }
TEST(TestMeiElement, TestAddChild) { MeiElement *p = new MeiElement("note"); MeiElement *c1 = new Accid(); c1->addAttribute(new MeiAttribute("x", "y")); MeiElement *c2 = new Accid(); ASSERT_EQ(0, p->getChildren().size()); p->addChild(c1); ASSERT_TRUE(p->hasChildren("accid")); ASSERT_EQ(1, p->getChildren().size()); p->addChild(c2); ASSERT_TRUE(p->hasChildren("accid")); ASSERT_EQ(2, p->getChildren().size()); }
TEST(TestMeiElement, TestRemoveChildByName) { MeiElement *p = new MeiElement("note"); MeiElement *c1 = new Accid(); MeiElement *c2 = new Accid(); MeiElement *c3 = new Note(); vector<MeiElement*> chn; chn.push_back(c1); chn.push_back(c2); chn.push_back(c3); p->setChildren(chn); ASSERT_TRUE(p->hasChildren("accid")); ASSERT_EQ(3, p->getChildren().size()); p->removeChildrenByName("accid"); ASSERT_EQ(1, p->getChildren().size()); ASSERT_FALSE(p->hasChildren("accid")); ASSERT_TRUE(p->hasChildren("note")); }