| Total Complexity | 2 |
| Total Lines | 32 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 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 |