Exemplo n.º 1
0
TEST(TestMeiElement, TestConstGetChildren) {
    MeiElement *p = new MeiElement("note");
    MeiElement *c2 = new Accid();
    MeiElement *c3 = new Note();
    vector<MeiElement*> chn;
    chn.push_back(c2);
    chn.push_back(c3);
    p->setChildren(chn);

    vector<MeiElement*> get = p->getChildren();
    // Can't add a new element to the vector
    get.push_back(new mei::Artic());
    ASSERT_EQ(2, p->getChildren().size());
}
Exemplo n.º 2
0
TEST(TestMeiElement, TestGetChildrenByName) {
    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_EQ(3, p->getChildren().size());
    vector<MeiElement*> get = p->getChildrenByName("accid");
    ASSERT_EQ(2, get.size());  
}
Exemplo n.º 3
0
TEST(TestMeiElement, TestDeleteChildren) {
    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_EQ(3, p->getChildren().size());
    p->deleteAllChildren();
    ASSERT_EQ(0, p->getChildren().size());
}
Exemplo n.º 4
0
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"));
}
Exemplo n.º 5
0
TEST(TestMeiElement, TestSetChildren) {
    MeiElement *p = new Note();
    MeiElement *ch1 = new Accid();
    MeiElement *ch2 = new mei::Dot();
    MeiElement *ch3 = new mei::Artic();
    
    p->addChild(ch1);
    ASSERT_EQ(1, p->getChildren().size());
    
    vector<MeiElement*> children;
    children.push_back(ch2);
    children.push_back(ch3);
    p->setChildren(children);
    ASSERT_EQ(2, p->getChildren().size());
    // Can't affect children by changing the initial vector
    children.push_back(new Accid());
    ASSERT_EQ(2, p->getChildren().size());
    
    p->addChild(ch1);
    ASSERT_EQ(3, p->getChildren().size());
}