File tree Expand file tree Collapse file tree 1 file changed +24
-0
lines changed
niworkflows/interfaces/tests Expand file tree Collapse file tree 1 file changed +24
-0
lines changed Original file line number Diff line number Diff line change @@ -806,3 +806,27 @@ def test_BIDSDataGrabber():
806806
807807 x = bintfs .BIDSDataGrabber (anat_derivatives = 'derivatives' )
808808 assert x ._require_t1w is False
809+
810+
811+ def test_require_func_pet_behavior ():
812+ from niworkflows .interfaces .bids import BIDSDataGrabber
813+ import pytest
814+
815+ subject_data_pet = {'t1w' : ['t1.nii' ], 'bold' : [], 'pet' : ['pet.nii' ]}
816+ subject_data_bold = {'t1w' : ['t1.nii' ], 'bold' : ['bold.nii' ], 'pet' : []}
817+
818+ # PET present, functional not required
819+ grabber_pet = BIDSDataGrabber (subject_data = subject_data_pet , subject_id = '01' , require_pet = True )
820+ assert grabber_pet ._require_funcs is False
821+ assert grabber_pet ._require_pet is True
822+ grabber_pet .run () # Should succeed without bold data
823+
824+ # PET absent, functional required by default
825+ grabber_func = BIDSDataGrabber (subject_data = subject_data_bold , subject_id = '01' )
826+ assert grabber_func ._require_funcs is True
827+ grabber_func .run () # Should succeed with bold data
828+
829+ # Fail when bold is required but missing
830+ grabber_fail = BIDSDataGrabber (subject_data = subject_data_pet , subject_id = '01' )
831+ with pytest .raises (FileNotFoundError , match = 'No functional images found' ):
832+ grabber_fail .run ()
You can’t perform that action at this time.
0 commit comments