Esempio n. 1
0
    def test_flattenedtree(self):
        mei = MeiElement("mei")
        mus = MeiElement("music")
        body = MeiElement("body")
        staff = MeiElement("staff")
        staff2 = MeiElement("staff")
        n1 = MeiElement("note")
        n2 = MeiElement("note")
        n3 = MeiElement("note")

        doc = MeiDocument()

        mei.addChild(mus)

        doc.root = mei

        mus.addChild(body)
        body.addChild(staff)
        body.addChild(staff2)
        staff.addChild(n1)
        staff.addChild(n2)
        staff2.addChild(n3)

        doc.lookBack(n2, "mei")
        self.assertEqual(8, len(doc.getFlattenedTree()))

        staff.removeChild(n2)
        self.assertEqual(7, len(doc.getFlattenedTree()))

        self.assertEqual(staff2, doc.getFlattenedTree()[5])

        staff.removeChildrenWithName("note")
        self.assertEqual(6, len(doc.getFlattenedTree()))

        body.deleteAllChildren()
        self.assertEqual(3, len(doc.getFlattenedTree()))

        children = MeiElementList()
        staff3 = MeiElement("staff")
        staff4 = MeiElement("staff")
        children.append(staff3)
        children.append(staff4)

        body.children = children

        self.assertEqual(5, len(doc.getFlattenedTree()))

        elements = [mei, mus, body, staff3, staff4]

        for i,el in enumerate(doc.getFlattenedTree()):
            self.assertEqual(elements[i], doc.getFlattenedTree()[i])
Esempio n. 2
0
    def test_flattenedtree(self):
        mei = MeiElement("mei")
        mus = MeiElement("music")
        body = MeiElement("body")
        staff = MeiElement("staff")
        staff2 = MeiElement("staff")
        n1 = MeiElement("note")
        n2 = MeiElement("note")
        n3 = MeiElement("note")

        doc = MeiDocument()

        mei.addChild(mus)

        doc.root = mei

        mus.addChild(body)
        body.addChild(staff)
        body.addChild(staff2)
        staff.addChild(n1)
        staff.addChild(n2)
        staff2.addChild(n3)

        doc.lookBack(n2, "mei")
        self.assertEqual(8, len(doc.getFlattenedTree()))

        staff.removeChild(n2)
        self.assertEqual(7, len(doc.getFlattenedTree()))

        self.assertEqual(staff2, doc.getFlattenedTree()[5])

        staff.removeChildrenWithName("note")
        self.assertEqual(6, len(doc.getFlattenedTree()))

        body.deleteAllChildren()
        self.assertEqual(3, len(doc.getFlattenedTree()))

        children = MeiElementList()
        staff3 = MeiElement("staff")
        staff4 = MeiElement("staff")
        children.append(staff3)
        children.append(staff4)

        body.children = children

        self.assertEqual(5, len(doc.getFlattenedTree()))

        elements = [mei, mus, body, staff3, staff4]

        for i, el in enumerate(doc.getFlattenedTree()):
            self.assertEqual(elements[i], doc.getFlattenedTree()[i])
Esempio n. 3
0
    def test_getchildrenbyname(self):
        p = MeiElement("note")
        el1 = MeiElement("accid")
        el2 = MeiElement("accid")
        el3 = MeiElement("dot")

        children = MeiElementList()
        children.append(el1)
        children.append(el2)
        children.append(el3)
        p.children = children

        # this should return a new list
        accid_children = p.getChildrenByName("accid")
        self.assertEqual(2, len(accid_children))
Esempio n. 4
0
    def test_setchildren(self):
        p = MeiElement("note")
        el1 = MeiElement("accid")
        el2 = MeiElement("dot")
        el3 = MeiElement("artic")

        p.addChild(el1)
        self.assertEqual(1, len(p.children))

        children = MeiElementList()
        children.append(el2)
        children.append(el3)

        p.children = children

        # setting the children will REPLACE any previously
        # set children!!!
        self.assertEqual(2, len(p.children))
        
        # can't affect children by changing the initial list
        children.append(MeiElement("accid"))
        self.assertEqual(2, len(p.children))
Esempio n. 5
0
    def test_getchildrenbyname(self):
        p = MeiElement("note")
        el1 = MeiElement("accid")
        el2 = MeiElement("accid")
        el3 = MeiElement("dot")

        children = MeiElementList()
        children.append(el1)
        children.append(el2)
        children.append(el3)
        p.children = children

        # this should return a new list
        accid_children = p.getChildrenByName("accid")
        self.assertEqual(2, len(accid_children))
Esempio n. 6
0
    def test_setchildren(self):
        p = MeiElement("note")
        el1 = MeiElement("accid")
        el2 = MeiElement("dot")
        el3 = MeiElement("artic")

        p.addChild(el1)
        self.assertEqual(1, len(p.children))

        children = MeiElementList()
        children.append(el2)
        children.append(el3)

        p.children = children

        # setting the children will REPLACE any previously
        # set children!!!
        self.assertEqual(2, len(p.children))

        # can't affect children by changing the initial list
        children.append(MeiElement("accid"))
        self.assertEqual(2, len(p.children))