Exemple #1
0
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
Exemple #2
0
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
Exemple #3
0
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
Exemple #4
0
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)
Exemple #5
0
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)
Exemple #6
0
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
Exemple #7
0
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
Exemple #8
0
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)
Exemple #9
0
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
Exemple #10
0
def test_extracts_artist_from_url(raw_url, expected_artist):
    extractor = FeatureExtractor()

    artist = extractor.extract_pretty_artist(raw_url)

    assert artist == expected_artist