tests.test_parsing_track   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 21
dl 0
loc 32
rs 10
c 0
b 0
f 0
wmc 2

2 Functions

Rating   Name   Duplication   Size   Complexity  
A parsable_track_lines() 0 15 1
A test_parsing_track_line() 0 10 1
1
import pytest
2
3
4
@pytest.fixture(
5
    params=(
6
        ('01. track_name - 00:00', ('track_name', '00:00')),
7
        ('01,   1312 - 00:00:00', ('1312', '00:00:00')),
8
        ('2  -  Faith in Physics - 12:43', ('Faith in Physics', '12:43')),
9
        ('23   -   Ντίσκο Τσουτσούνι - 1:00:00', ('Ντίσκο Τσουτσούνι', '1:00:00')),
10
        ('2.  Man vs. God - 0:07', ('Man vs. God', '0:07')),
11
    )
12
)
13
def parsable_track_lines(request):
14
    """A track line (str) that we can parse."""
15
    return {
16
        'track_line': request.param[0],
17
        'expected_track_name': request.param[1][0],
18
        'expected_parsed_time': request.param[1][1],
19
    }
20
21
22
def test_parsing_track_line(parsable_track_lines):
23
    """Test parsing a track line."""
24
    from typing import List
25
26
    from music_album_creation.tracks_parsing import StringParser
27
28
    parser = StringParser()
29
    track_name, parsed_time = parser._parse_track_line(parsable_track_lines['track_line'])
30
    assert track_name == parsable_track_lines['expected_track_name']
31
    assert parsed_time == parsable_track_lines['expected_parsed_time']
32