diff --git a/tests/test_filetree/test_template.py b/tests/test_filetree/test_template.py index c4042078df8a762c3affb5b2d98e1c63cb9a4b81..ba51229214d1acc31adf7967d547a8036b9802e6 100644 --- a/tests/test_filetree/test_template.py +++ b/tests/test_filetree/test_template.py @@ -25,3 +25,12 @@ def test_get_variables(): assert {'subject': '01', 'session': 'A'} == utils.extract_variables('sub-{subject}/[ses-{session}]/T1w.nii.gz', 'sub-01/ses-A/T1w.nii.gz') with pytest.raises(ValueError): utils.extract_variables('sub-{subject}/[ses-{session}]/T1w.nii.gz', 'sub-01/other/T1w.nii.gz') + + +def test_multiple_optionals(): + with pytest.raises(KeyError): + utils.extract_variables('{var}[_{opt1}][_{opt2}]', 'test_foo') + assert {'var': 'test', 'opt1': None, 'opt2': None} == utils.extract_variables('{var}[_{opt1}][_{opt2}]', 'test') + assert {'var': 'test', 'opt1': 'oo', 'opt2': None} == utils.extract_variables('{var}[_f{opt1}][_{opt2}]', 'test_foo') + +