コード例 #1
0
ファイル: test_meielement.cpp プロジェクト: annplaksin/libmei
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());
}
コード例 #2
0
ファイル: test_meielement.cpp プロジェクト: annplaksin/libmei
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());  
}
コード例 #3
0
ファイル: test_meielement.cpp プロジェクト: annplaksin/libmei
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());
}
コード例 #4
0
ファイル: test_meielement.cpp プロジェクト: annplaksin/libmei
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"));
}
コード例 #5
0
ファイル: test_meielement.cpp プロジェクト: annplaksin/libmei
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());
}