from cmath import exp from torrentify import generate_title, parse_filename, ParsedFilename import pytest @pytest.mark.parametrize( ["filename", "expected"], [ [ "To Ki -- @Studio -- 2022-10-04", { "actors": ["To Ki"], "date": "2022-10-04", "studio": "Studio", "tags": ["to.ki", "studio.com", "2022", "2022.10"], }, ], [ "To Ki, Ki To -- @Studio -- Title -- 2022-10-04", { "actors": ["To Ki", "Ki To"], "date": "2022-10-04", "studio": "Studio", "title": "Title", "tags": ["to.ki", "ki.to", "studio.com", "2022", "2022.10"], }, ], ], ) def test_parse_filename(filename: str, expected: dict): parsed = parse_filename(filename) print(filename, parsed) assert parsed == expected @pytest.mark.parametrize( ["parsed", "expected"], [ [ { "actors": ["To Ki"], "date": "2022-10-04", "studio": "Studio", }, 'To Ki -- @Studio -- 2022-10-04', ], [ { "actors": ["To Ki", "Ki To"], "date": "2022-10-04", "title": "Title", "studio": "Studio", }, 'To Ki, Ki To -- @Studio -- Title -- 2022-10-04', ], ], ) def test_generate_title(parsed: ParsedFilename, expected: str): generated = generate_title(parsed) assert generated == expected