def keyoctave_parse_test(): ''' Check valid KeyOctave parses ''' for key in _KEYS: for octave in xrange(10): keyoctave = KeyOctave.parse("{}{}".format(key, octave)) eq_(keyoctave.key, Key.parse(key)) eq_(keyoctave.octave, octave)
def basic_capo_test(): """ Basic check for `Instrument.capo` """ capo_position = 2 keyoctaves = [KeyOctave.parse(x + "0") for x in "ABCDEFG"] transposed = [ko.transpose(capo_position) for ko in keyoctaves] with_bass = Instrument("test", keyoctaves, 30, True) without_bass = Instrument("test", keyoctaves, 30, False) for original in [with_bass, without_bass]: capoed = original.capo(capo_position) eq_(capoed.has_bass, original.has_bass) eq_(capoed.keyoctaves, transposed)
def _keyoctaves(): return [KeyOctave.parse(ko) for ko in _KEYOCTAVES]
def keyoctave_ord_test(): ''' Check Keyoctave's ord/from_ord consistency ''' for keyoctave in _keyoctaves(): eq_(keyoctave, KeyOctave.from_ord(keyoctave.ord()))
def keyoctave_eq_test(): ''' Check different parses of the same keyoctave are equal ''' for keyoctave in _KEYOCTAVES: eq_(KeyOctave.parse(keyoctave), KeyOctave.parse(keyoctave))