コード例 #1
0
class TestMeasureControl(unittest.TestCase):
    def setUp(self):
        self.staff = Staff()
        self.staff.addMeasure(Measure(1))
        self.staff.addMeasure(Measure(2))
        self.staff.addMeasure(Measure(3))
        self.staff.addMeasure(Measure(4))
        self.np = NotePosition(measureIndex=2)

    def testGetItemAtPosition(self):
        measure = self.staff.getItemAtPosition(self.np)
        self.assertEqual(len(measure), 3)

    def testSetSectionEnd(self):
        measure = self.staff.getItemAtPosition(self.np)
        self.assertFalse(measure.isSectionEnd())
        self.staff.setSectionEnd(self.np, True)
        self.assertTrue(measure.isSectionEnd())
        self.staff.setSectionEnd(self.np, False)
        self.assertFalse(measure.isSectionEnd())

    def testIsSectionEnd(self):
        self.assertFalse(self.staff.isSectionEnd())
        self.staff.setSectionEnd(self.np, True)
        self.assertFalse(self.staff.isSectionEnd())
        self.staff.setSectionEnd(self.np, False)
        self.assertFalse(self.staff.isSectionEnd())
        endPos = NotePosition(measureIndex=3)
        self.staff.setSectionEnd(endPos, True)
        self.assertTrue(self.staff.isSectionEnd())
        self.staff.setSectionEnd(endPos, False)
        self.assertFalse(self.staff.isSectionEnd())

    def testIsConsistent(self):
        self.assertTrue(self.staff.isConsistent())
        self.staff.setSectionEnd(self.np, True)
        self.assertFalse(self.staff.isConsistent())
        self.staff.setSectionEnd(self.np, False)
        self.assertTrue(self.staff.isConsistent())
        endPos = NotePosition(measureIndex=3)
        self.staff.setSectionEnd(endPos, True)
        self.assertTrue(self.staff.isConsistent())
        self.staff.setSectionEnd(endPos, False)
        self.assertTrue(self.staff.isConsistent())

    def testCopyPasteWithoutDecoration(self):
        measure = self.staff.getItemAtPosition(self.np)
        measure.setRepeatStart(True)
        copied = self.staff.copyMeasure(self.np)
        newPos = NotePosition(measureIndex=0)
        self.assertFalse(self.staff[0].isRepeatStart())
        self.assertEqual(len(self.staff[0]), 1)
        self.staff.pasteMeasure(newPos, copied, False)
        self.assertFalse(self.staff[0].isRepeatStart())
        self.assertEqual(len(self.staff[0]), 3)

    def testCopyPasteWithDecoration(self):
        measure = self.staff.getItemAtPosition(self.np)
        measure.setRepeatStart(True)
        copied = self.staff.copyMeasure(self.np)
        newPos = NotePosition(measureIndex=0)
        self.assertFalse(self.staff[0].isRepeatStart())
        self.assertEqual(len(self.staff[0]), 1)
        self.staff.pasteMeasure(newPos, copied, True)
        self.assertTrue(self.staff[0].isRepeatStart())
        self.assertEqual(len(self.staff[0]), 3)

    def testLineIsVisible(self):
        self.staff.addNote(
            NotePosition(measureIndex=0, noteTime=0, drumIndex=0), "x")
        self.staff.addNote(
            NotePosition(measureIndex=1, noteTime=0, drumIndex=2), "x")
        self.staff.addNote(
            NotePosition(measureIndex=2, noteTime=0, drumIndex=4), "x")
        self.assertTrue(self.staff.lineIsVisible(0))
        self.assertFalse(self.staff.lineIsVisible(1))
        self.assertTrue(self.staff.lineIsVisible(2))
        self.assertFalse(self.staff.lineIsVisible(3))
        self.assertTrue(self.staff.lineIsVisible(4))
        self.assertFalse(self.staff.lineIsVisible(5))
コード例 #2
0
ファイル: testStaff.py プロジェクト: jguardon/DrumBurp
class TestMeasureControl(unittest.TestCase):
    def setUp(self):
        self.staff = Staff()
        self.staff.addMeasure(Measure(1))
        self.staff.addMeasure(Measure(2))
        self.staff.addMeasure(Measure(3))
        self.staff.addMeasure(Measure(4))
        self.np = NotePosition(measureIndex = 2)

    def testGetItemAtPosition(self):
        measure = self.staff.getItemAtPosition(self.np)
        self.assertEqual(len(measure), 3)

    def testSetSectionEnd(self):
        measure = self.staff.getItemAtPosition(self.np)
        self.assertFalse(measure.isSectionEnd())
        self.staff.setSectionEnd(self.np, True)
        self.assertTrue(measure.isSectionEnd())
        self.staff.setSectionEnd(self.np, False)
        self.assertFalse(measure.isSectionEnd())

    def testIsSectionEnd(self):
        self.assertFalse(self.staff.isSectionEnd())
        self.staff.setSectionEnd(self.np, True)
        self.assertFalse(self.staff.isSectionEnd())
        self.staff.setSectionEnd(self.np, False)
        self.assertFalse(self.staff.isSectionEnd())
        endPos = NotePosition(measureIndex = 3)
        self.staff.setSectionEnd(endPos, True)
        self.assertTrue(self.staff.isSectionEnd())
        self.staff.setSectionEnd(endPos, False)
        self.assertFalse(self.staff.isSectionEnd())

    def testIsConsistent(self):
        self.assertTrue(self.staff.isConsistent())
        self.staff.setSectionEnd(self.np, True)
        self.assertFalse(self.staff.isConsistent())
        self.staff.setSectionEnd(self.np, False)
        self.assertTrue(self.staff.isConsistent())
        endPos = NotePosition(measureIndex = 3)
        self.staff.setSectionEnd(endPos, True)
        self.assertTrue(self.staff.isConsistent())
        self.staff.setSectionEnd(endPos, False)
        self.assertTrue(self.staff.isConsistent())

    def testCopyPasteWithoutDecoration(self):
        measure = self.staff.getItemAtPosition(self.np)
        measure.setRepeatStart(True)
        copied = self.staff.copyMeasure(self.np)
        newPos = NotePosition(measureIndex = 0)
        self.assertFalse(self.staff[0].isRepeatStart())
        self.assertEqual(len(self.staff[0]), 1)
        self.staff.pasteMeasure(newPos, copied, False)
        self.assertFalse(self.staff[0].isRepeatStart())
        self.assertEqual(len(self.staff[0]), 3)

    def testCopyPasteWithDecoration(self):
        measure = self.staff.getItemAtPosition(self.np)
        measure.setRepeatStart(True)
        copied = self.staff.copyMeasure(self.np)
        newPos = NotePosition(measureIndex = 0)
        self.assertFalse(self.staff[0].isRepeatStart())
        self.assertEqual(len(self.staff[0]), 1)
        self.staff.pasteMeasure(newPos, copied, True)
        self.assertTrue(self.staff[0].isRepeatStart())
        self.assertEqual(len(self.staff[0]), 3)

    def testLineIsVisible(self):
        self.staff.addNote(NotePosition(measureIndex = 0, noteTime = 0,
                                        drumIndex = 0), "x")
        self.staff.addNote(NotePosition(measureIndex = 1, noteTime = 0,
                                        drumIndex = 2), "x")
        self.staff.addNote(NotePosition(measureIndex = 2, noteTime = 0,
                                        drumIndex = 4), "x")
        self.assertTrue(self.staff.lineIsVisible(0))
        self.assertFalse(self.staff.lineIsVisible(1))
        self.assertTrue(self.staff.lineIsVisible(2))
        self.assertFalse(self.staff.lineIsVisible(3))
        self.assertTrue(self.staff.lineIsVisible(4))
        self.assertFalse(self.staff.lineIsVisible(5))
コード例 #3
0
class TestNoteControl(unittest.TestCase):
    def setUp(self):
        self.staff = Staff()
        self.staff.addMeasure(Measure(16))
        self.staff.addMeasure(Measure(16))
        self.staff.addMeasure(Measure(16))
        self.staff.addMeasure(Measure(16))

    def testgetItemAtPosition(self):
        np = NotePosition(measureIndex=0, noteTime=0, drumIndex=0)
        self.assertEqual(self.staff.getItemAtPosition(np), EMPTY_NOTE)

    def testGetItemAtPosition(self):
        np = NotePosition(measureIndex=0, noteTime=0, drumIndex=0)
        self.assertEqual(self.staff.getItemAtPosition(np), EMPTY_NOTE)

    def testgetItemAtPosition_BadTime(self):
        self.assertRaises(
            BadTimeError, self.staff.getItemAtPosition,
            NotePosition(measureIndex=-1, noteTime=0, drumIndex=0))
        self.assertRaises(
            BadTimeError, self.staff.getItemAtPosition,
            NotePosition(measureIndex=20, noteTime=0, drumIndex=0))
        self.assertRaises(
            BadTimeError, self.staff.getItemAtPosition,
            NotePosition(measureIndex=0, noteTime=-1, drumIndex=0))
        self.assertRaises(
            BadTimeError, self.staff.getItemAtPosition,
            NotePosition(measureIndex=0, noteTime=20, drumIndex=0))

    def testAddNote(self):
        np = NotePosition(measureIndex=0, noteTime=0, drumIndex=0)
        self.staff.addNote(np, "o")
        self.assertEqual(self.staff.getItemAtPosition(np), "o")

    def testAddNote_BadTime(self):
        self.assertRaises(
            BadTimeError, self.staff.addNote,
            NotePosition(measureIndex=-1, noteTime=0, drumIndex=0), "x")
        self.assertRaises(
            BadTimeError, self.staff.addNote,
            NotePosition(measureIndex=4, noteTime=0, drumIndex=0), "x")
        self.assertRaises(
            BadTimeError, self.staff.addNote,
            NotePosition(measureIndex=0, noteTime=-1, drumIndex=0), "x")
        self.assertRaises(
            BadTimeError, self.staff.addNote,
            NotePosition(measureIndex=0, noteTime=20, drumIndex=0), "x")

    def testDeleteNote(self):
        np = NotePosition(measureIndex=0, noteTime=0, drumIndex=0)
        self.staff.addNote(np, "o")
        self.staff.deleteNote(np)
        self.assertEqual(self.staff.getItemAtPosition(np), EMPTY_NOTE)

    def testDeleteNote_BadTime(self):
        self.assertRaises(
            BadTimeError, self.staff.deleteNote,
            NotePosition(measureIndex=-1, noteTime=0, drumIndex=0))
        self.assertRaises(
            BadTimeError, self.staff.deleteNote,
            NotePosition(measureIndex=20, noteTime=0, drumIndex=0))
        self.assertRaises(
            BadTimeError, self.staff.deleteNote,
            NotePosition(measureIndex=0, noteTime=-1, drumIndex=0))
        self.assertRaises(
            BadTimeError, self.staff.deleteNote,
            NotePosition(measureIndex=0, noteTime=20, drumIndex=0))

    def testToggleNote(self):
        np = NotePosition(measureIndex=0, noteTime=0, drumIndex=0)
        self.staff.toggleNote(np, "o")
        self.assertEqual(self.staff.getItemAtPosition(np), "o")
        self.staff.toggleNote(np, "o")
        self.assertEqual(self.staff.getItemAtPosition(np), EMPTY_NOTE)

    def testToggleNote_BadTime(self):
        self.assertRaises(
            BadTimeError, self.staff.toggleNote,
            NotePosition(measureIndex=-1, noteTime=0, drumIndex=0), "x")
        self.assertRaises(
            BadTimeError, self.staff.toggleNote,
            NotePosition(measureIndex=20, noteTime=0, drumIndex=0), "x")
        self.assertRaises(
            BadTimeError, self.staff.toggleNote,
            NotePosition(measureIndex=0, noteTime=-1, drumIndex=0), "x")
        self.assertRaises(
            BadTimeError, self.staff.toggleNote,
            NotePosition(measureIndex=0, noteTime=20, drumIndex=0), "x")
コード例 #4
0
ファイル: testStaff.py プロジェクト: jguardon/DrumBurp
class TestNoteControl(unittest.TestCase):
    def setUp(self):
        self.staff = Staff()
        self.staff.addMeasure(Measure(16))
        self.staff.addMeasure(Measure(16))
        self.staff.addMeasure(Measure(16))
        self.staff.addMeasure(Measure(16))

    def testgetItemAtPosition(self):
        np = NotePosition(measureIndex = 0, noteTime = 0, drumIndex = 0)
        self.assertEqual(self.staff.getItemAtPosition(np),
                         EMPTY_NOTE)

    def testGetItemAtPosition(self):
        np = NotePosition(measureIndex = 0,
                          noteTime = 0,
                          drumIndex = 0)
        self.assertEqual(self.staff.getItemAtPosition(np),
                         EMPTY_NOTE)

    def testgetItemAtPosition_BadTime(self):
        self.assertRaises(BadTimeError, self.staff.getItemAtPosition,
                          NotePosition(measureIndex = -1,
                                       noteTime = 0, drumIndex = 0))
        self.assertRaises(BadTimeError, self.staff.getItemAtPosition,
                          NotePosition(measureIndex = 20,
                                       noteTime = 0, drumIndex = 0))
        self.assertRaises(BadTimeError, self.staff.getItemAtPosition,
                          NotePosition(measureIndex = 0,
                                       noteTime = -1, drumIndex = 0))
        self.assertRaises(BadTimeError, self.staff.getItemAtPosition,
                          NotePosition(measureIndex = 0,
                                       noteTime = 20, drumIndex = 0))

    def testAddNote(self):
        np = NotePosition(measureIndex = 0, noteTime = 0, drumIndex = 0)
        self.staff.addNote(np, "o")
        self.assertEqual(self.staff.getItemAtPosition(np), "o")

    def testAddNote_BadTime(self):
        self.assertRaises(BadTimeError, self.staff.addNote,
                          NotePosition(measureIndex = -1,
                                       noteTime = 0, drumIndex = 0), "x")
        self.assertRaises(BadTimeError, self.staff.addNote,
                          NotePosition(measureIndex = 4,
                                       noteTime = 0, drumIndex = 0), "x")
        self.assertRaises(BadTimeError, self.staff.addNote,
                          NotePosition(measureIndex = 0,
                                       noteTime = -1, drumIndex = 0), "x")
        self.assertRaises(BadTimeError, self.staff.addNote,
                          NotePosition(measureIndex = 0,
                                       noteTime = 20, drumIndex = 0), "x")

    def testDeleteNote(self):
        np = NotePosition(measureIndex = 0, noteTime = 0, drumIndex = 0)
        self.staff.addNote(np, "o")
        self.staff.deleteNote(np)
        self.assertEqual(self.staff.getItemAtPosition(np), EMPTY_NOTE)

    def testDeleteNote_BadTime(self):
        self.assertRaises(BadTimeError, self.staff.deleteNote,
                          NotePosition(measureIndex = -1,
                                       noteTime = 0, drumIndex = 0))
        self.assertRaises(BadTimeError, self.staff.deleteNote,
                          NotePosition(measureIndex = 20,
                                       noteTime = 0, drumIndex = 0))
        self.assertRaises(BadTimeError, self.staff.deleteNote,
                          NotePosition(measureIndex = 0,
                                       noteTime = -1, drumIndex = 0))
        self.assertRaises(BadTimeError, self.staff.deleteNote,
                          NotePosition(measureIndex = 0,
                                       noteTime = 20, drumIndex = 0))

    def testToggleNote(self):
        np = NotePosition(measureIndex = 0, noteTime = 0, drumIndex = 0)
        self.staff.toggleNote(np, "o")
        self.assertEqual(self.staff.getItemAtPosition(np), "o")
        self.staff.toggleNote(np, "o")
        self.assertEqual(self.staff.getItemAtPosition(np), EMPTY_NOTE)

    def testToggleNote_BadTime(self):
        self.assertRaises(BadTimeError, self.staff.toggleNote,
                          NotePosition(measureIndex = -1,
                                       noteTime = 0, drumIndex = 0), "x")
        self.assertRaises(BadTimeError, self.staff.toggleNote,
                          NotePosition(measureIndex = 20,
                                       noteTime = 0, drumIndex = 0), "x")
        self.assertRaises(BadTimeError, self.staff.toggleNote,
                          NotePosition(measureIndex = 0,
                                       noteTime = -1, drumIndex = 0), "x")
        self.assertRaises(BadTimeError, self.staff.toggleNote,
                          NotePosition(measureIndex = 0,
                                       noteTime = 20, drumIndex = 0), "x")