diff --git a/nipype/interfaces/tests/test_extra_dcm2nii.py b/nipype/interfaces/tests/test_extra_dcm2nii.py index 44fb7196f8..083b8fcca1 100644 --- a/nipype/interfaces/tests/test_extra_dcm2nii.py +++ b/nipype/interfaces/tests/test_extra_dcm2nii.py @@ -14,11 +14,10 @@ DICOM_DIR = 'http://datasets-tests.datalad.org/dicoms/dcm2niix-tests' -def fetch_data(tmpdir, dicoms): +def fetch_data(datadir, dicoms): """Fetches some test DICOMs using datalad""" - data = os.path.join(tmpdir, 'data') - api.install(path=data, source=DICOM_DIR) - data = os.path.join(data, dicoms) + api.install(path=datadir, source=DICOM_DIR) + data = os.path.join(datadir, dicoms) api.get(path=data) return data @@ -26,30 +25,31 @@ def fetch_data(tmpdir, dicoms): @pytest.mark.skipif(no_dcm2niix, reason="Dcm2niix required") def test_dcm2niix_dwi(tmpdir): tmpdir.chdir() + datadir = tmpdir.mkdir('data').strpath try: - datadir = fetch_data(tmpdir.strpath, 'Siemens_Sag_DTI_20160825_145811') + dicoms = fetch_data(datadir, 'Siemens_Sag_DTI_20160825_145811') except IncompleteResultsError as exc: pytest.skip("Failed to fetch test data: %s" % str(exc)) - def assert_dwi(eg, bids): + def assert_dwi(eg): "Some assertions we will make" assert eg.outputs.converted_files assert eg.outputs.bvals assert eg.outputs.bvecs outputs = [y for x,y in eg.outputs.get().items()] - if bids: + if eg.inputs.get('bids_format'): # ensure all outputs are of equal lengths assert len(set(map(len, outputs))) == 1 else: assert not eg.outputs.bids dcm = Dcm2niix() - dcm.inputs.source_dir = datadir + dcm.inputs.source_dir = dicoms dcm.inputs.out_filename = '%u%z' - assert_dwi(dcm.run(), True) + assert_dwi(dcm.run()) # now run specifying output directory and removing BIDS option outdir = tmpdir.mkdir('conversion').strpath dcm.inputs.output_dir = outdir dcm.inputs.bids_format = False - assert_dwi(dcm.run(), False) + assert_dwi(dcm.run())