"""Test parse folder structure logic.""" import fpsweeper.logic.parse_folder_structure as pfs def test_split_folder_structure_string(): """Test split string functionality.""" test_str = '{upc(0,6)}/{upc(6,3)}/{upc}' expected_output = ['{upc(0,6)}', '/', '{upc(6,3)}', '/', '{upc}'] output = pfs.split_folder_structure_string(test_str) assert output == expected_output def test_is_variable_true(): """Test is variable functionality returns true for variable match.""" test_str = 'dms_master_{dms_id}' expected_output = True output = pfs.is_variable(test_str) assert output == expected_output def test_is_variable_false(): """Test is variable functionality returns false for no match.""" test_str = 'test' expected_output = False output = pfs.is_variable(test_str) assert output == expected_output def test_process_string(): """Test processing string functionality on sample folder structure.""" test_str = 'wav30/{upc(0,6)}/{upc(6,3)}/{upc}/{upc}_{cd}_{track_id}_{clip_number}.wav' test_variables_dict = { 'asset_id': 12345, 'upc': 1234567890, 'cd': 1, 'track_id': 2, 'clip_number': 3 } expected_output = 'wav30/123456/789/1234567890/1234567890_1_2_3.wav' output = pfs.process_string(test_str, test_variables_dict) assert output == expected_output