def test_parse_tied_notes_song_item(self): region = as_region("~a+3q") parsed_item = SongItem.parse(region) self.assertEquals(parsed_item, Note(5, 1, duration=(3, 4), continued=True)) region = as_region("a+3q~") parsed_item = SongItem.parse(region) self.assertEquals(parsed_item, Note(5, 1, duration=(3, 4), to_continue=True)) region = as_region("~a+3q~") parsed_item = SongItem.parse(region) self.assertEquals(parsed_item, Note(5, 1, duration=(3, 4), to_continue=True, continued=True))
def test_parse_tied_notes_song_item(self): region = as_region('~a+3q') parsed_item = SongItem.parse(region) self.assertEquals(parsed_item, Note(5, 1, duration=(3, 4), continued=True)) region = as_region('a+3q~') parsed_item = SongItem.parse(region) self.assertEquals(parsed_item, Note(5, 1, duration=(3, 4), to_continue=True)) region = as_region('~a+3q~') parsed_item = SongItem.parse(region) self.assertEquals( parsed_item, Note(5, 1, duration=(3, 4), to_continue=True, continued=True))
def test_parse_chord_song_item(self): region = as_region("[:CE-G]") parsed_item = SongItem.parse(region) self.assertEquals(parsed_item.source, region) region = as_region("[:CE-G]") parsed_chord = Chord.parse(region) self.assertEquals(parsed_item, parsed_chord)
def test_parse_chord_song_item(self): region = as_region('[:CE-G]') parsed_item = SongItem.parse(region) self.assertEquals(parsed_item.source, region) region = as_region('[:CE-G]') parsed_chord = Chord.parse(region) self.assertEquals(parsed_item, parsed_chord)
def test_parse_note_song_item(self): region = as_region("a+'3q") parsed_item = SongItem.parse(region) region = as_region("a+'3q") parsed_note = Note.parse(region) self.assertEquals(parsed_item, parsed_note)
def test_parse_tie_song_item(self): region = as_region("~") parsed_item = SongItem.parse(region) region = as_region("~") parsed_tie = Tie.parse(region) self.assertEquals(parsed_item, parsed_tie)
def test_parse_barline_song_item(self): region = as_region("|") parsed_item = SongItem.parse(region) region = as_region("|") parsed_barline = BarLine.parse(region) self.assertEquals(parsed_item, parsed_barline)
def test_parse_rest_no_duration(self): region = as_region("r") with self.parse_exception("Rest must specify duration", "r"): rest = SongItem.parse(region)
def test_parse_rest_no_duration(self): region = as_region('r') with self.parse_exception('Rest must specify duration', 'r'): rest = SongItem.parse(region)
def test_invalid_song_item_starts_like_note(self): with self.parse_exception( 'Invalid note: "a\'wrong" (extra data "wrong")', 'wrong'): SongItem.parse(as_region('a\'wrong'))
def test_invalid_song_item(self): with self.parse_exception("Invalid song item: 'wrong'", 'wrong'): SongItem.parse(as_region('wrong'))
def test_parse_note_song_item(self): region = as_region('a+\'3q') parsed_item = SongItem.parse(region) region = as_region('a+\'3q') parsed_note = Note.parse(region) self.assertEquals(parsed_item, parsed_note)
def test_parse_tie_song_item(self): region = as_region('~') parsed_item = SongItem.parse(region) region = as_region('~') parsed_tie = Tie.parse(region) self.assertEquals(parsed_item, parsed_tie)
def test_parse_barline_song_item(self): region = as_region('|') parsed_item = SongItem.parse(region) region = as_region('|') parsed_barline = BarLine.parse(region) self.assertEquals(parsed_item, parsed_barline)
def test_invalid_song_item(self): with self.parse_exception("Invalid song item: 'wrong'", "wrong"): SongItem.parse(as_region("wrong"))
def test_parse_rest(self): region = as_region("r2.") rest = SongItem.parse(region) self.assertEquals(rest, Rest((6, 2)))
def test_invalid_song_item_starts_like_note(self): with self.parse_exception('Invalid note: "a\'wrong" (extra data "wrong")', "wrong"): SongItem.parse(as_region("a'wrong"))
def test_parse_rest(self): region = as_region('r2.') rest = SongItem.parse(region) self.assertEquals(rest, Rest((6, 2)))