def test_extracts_mode_cardinality(chords, mode, expected_mode_cardinality): extractor = FeatureExtractor() chords = [parse(chord) for chord in chords] mode_cardinality = extractor.extract_mode_cardinality(chords, mode) assert mode_cardinality == expected_mode_cardinality
def test_extract_relative_on_list(chords, expected_relative_on_list): extractor = FeatureExtractor() chords = [parse(chord) for chord in chords] relative_on_list = extractor.extract_relative_on_list(chords) assert relative_on_list == expected_relative_on_list
def test_extracts_unique_cardinality(chords, expected_unique_cardinality): extractor = FeatureExtractor() chords = [parse(chord) for chord in chords] unique_cardinality = extractor.extract_unique_cardinality(chords) assert unique_cardinality == expected_unique_cardinality
def test_extract_complexity(chords, expected_complexity): extractor = FeatureExtractor() chords = [parse(chord) for chord in chords] complexity = extractor.extract_complexity(chords) assert complexity == approx(expected_complexity, 0.1)
def test_extract_harmonic_dominant_width(chords, expected_dominant_width): extractor = FeatureExtractor() chords = [parse(chord) for chord in chords] dominant_width = extractor.extract_dominant_width(chords) assert dominant_width == approx(expected_dominant_width, 0.1)
def test_extract_harmonic_mean_in_scale(harmonic_mean_in_5th_circle, expected_harmonic_mean_in_scale): extractor = FeatureExtractor() harmonic_mean_in_scale = extractor.extract_harmonic_mean_in_scale( harmonic_mean_in_5th_circle) assert harmonic_mean_in_scale == expected_harmonic_mean_in_scale
def test_extract_transposed_chords(chords, semitones, expected_transposed_chords): extractor = FeatureExtractor() chords = [parse(chord) for chord in chords] transposed_chords = extractor.extract_transposed_chords_names( chords, semitones) assert transposed_chords == expected_transposed_chords
def test_extract_harmonic_mean_position(chords, expected_harmonic_mean_position): extractor = FeatureExtractor() chords = [parse(chord) for chord in chords] harmonic_mean_position = extractor.extract_harmonic_mean_position(chords) assert harmonic_mean_position == approx(expected_harmonic_mean_position, 0.1)
def test_extracts_numeric_from_string_decade(input, expected_decade_as_number): extractor = FeatureExtractor() numeric_decade = extractor.extract_numeric_decade(input) assert numeric_decade == expected_decade_as_number
def test_extracts_artist_from_url(raw_url, expected_artist): extractor = FeatureExtractor() artist = extractor.extract_pretty_artist(raw_url) assert artist == expected_artist