"""Test utils.parsers.""" import pytest from vector_utils.utils import parsers @pytest.mark.parametrize( 'pattern,expected', [ ('{upc}_{cd(2)}_{track_id(3)}_FULL.flac', '2341234121341_01_001_FULL.flac'), ('{upc}_{cd}_{track_id}_FULL.flac', '2341234121341_1_1_FULL.flac'), ('[MD5]{upc}_{cd}_{track_id}.flac', 'bfd4b3ed623c137c96efd3e78d11262a'), ('[CRC+]{upc}_{cd}_{track_id}', 2656581267), ('[CRC]{upc}_{cd}_{track_id}', -1638386029), ('{upc(-6,3)}/{upc(14)}', '121/02341234121341') ]) def test_process_string(pattern, expected): """Test process_string function.""" replacements = { 'upc': 2341234121341, 'cd': 1, 'track_id': 1 } assert parsers.process_string(pattern, replacements) == expected