void testNestedPartGroups()
    {
        Sheet* sheet = new Sheet();
        sheet->addBar();
        for (int i = 0; i < 7; i++) {
            sheet->addPart(QString("part %1").arg(i));
        }

        sheet->addPartGroup(0, 1)->setName("group 1");
        sheet->addPartGroup(1, 2)->setName("group 2");
        sheet->addPartGroup(2, 3)->setName("group 3");

        sheet->addPartGroup(0, 6)->setName("group 4");
        sheet->addPartGroup(4, 5)->setName("group 5");
        sheet->addPartGroup(4, 5)->setName("group 6");

        validateOutput(sheet, "nestedpartgroups.xml");
        delete sheet;
    }
    void testPartGroups()
    {
        Sheet* sheet = new Sheet();
        sheet->addBar();
        for (int i = 0; i < 8; i++) {
            sheet->addPart(QString("part %1").arg(i));
        }

        PartGroup* pg = sheet->addPartGroup(0, 1);
        pg->setName("group 1");

        pg = sheet->addPartGroup(2, 3);
        pg->setSymbol(PartGroup::Brace);

        pg = sheet->addPartGroup(4, 5);
        pg->setSymbol(PartGroup::Line);

        pg = sheet->addPartGroup(6, 7);
        pg->setSymbol(PartGroup::Bracket);
        pg->setCommonBarLines(false);

        validateOutput(sheet, "partgroups.xml");
        delete sheet;
    }