def test_change_alt(): n = Note(freq=466.16, alt=Note.SHARP) assert n.name == 'A#' assert n.freq == 466.16 assert n.octave == 4 n.alt = Note.FLAT assert n.name == 'Bb' assert n.freq == 466.16 assert n.octave == 4 n.alt = 'random string' assert n.name == 'A#' assert n.freq == 466.16 assert n.octave == 4
def test_pitch_shift(): n = Note(freq=440) n.pitch_shift(value=53.88) assert n.name == 'B' assert n.freq == 493.88 assert n.octave == 4 n.pitch_shift(value=-53.88) assert n.name == 'A' assert n.freq == 440 assert n.octave == 4 n.pitch_shift(value=0) assert n.name == 'A' assert n.freq == 440 assert n.octave == 4 # Half step # n = Note(freq=440) n.pitch_shift(value=2, half_step=True) assert n.name == 'B' assert n.freq == 493.88 assert n.octave == 4 n.pitch_shift(value=-2, half_step=True) assert n.name == 'A' assert n.freq == 440 assert n.octave == 4 n.pitch_shift(value=0, half_step=True) assert n.name == 'A' assert n.freq == 440 assert n.octave == 4 n.alt = Note.SHARP n.pitch_shift(value=1, half_step=True, alt=Note.FLAT) assert n.name == 'Bb' assert n.freq == 466.16 assert n.octave == 4 n.pitch_shift(value=0, half_step=True, alt=Note.SHARP) assert n.name == 'A#' assert n.freq == 466.16 assert n.octave == 4 # Octave # n = Note(freq=440) n.pitch_shift(value=1, octave=True) assert n.name == 'A' assert n.freq == 880 assert n.octave == 5 n.pitch_shift(value=-2, octave=True) assert n.name == 'A' assert n.freq == 220 assert n.octave == 3 n.pitch_shift(value=0, octave=True) assert n.name == 'A' assert n.freq == 220 assert n.octave == 3 n = Note(freq=466.16) n.pitch_shift(value=1, octave=True, alt=Note.FLAT) assert n.name == 'Bb' assert n.freq == 932.32 assert n.octave == 5 n.pitch_shift(value=-1, octave=True, alt=Note.SHARP) assert n.name == 'A#' assert n.freq == 466.16 assert n.octave == 4 with pytest.raises(TypeError): Note(freq=440).pitch_shift() with pytest.raises(TypeError): Note(freq=440).pitch_shift(value='string') with pytest.raises(TypeError): Note(freq=440).pitch_shift(value='string', half_step=True) with pytest.raises(TypeError): Note(freq=440).pitch_shift(value='string', octave=True)