Skip to content

Commit e98dbfc

Browse files
committed
tests pathlib compatible
1 parent ca10c44 commit e98dbfc

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

nibabel/tests/test_image_api.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -144,8 +144,8 @@ def validate_filenames(self, imaker, params):
144144
fname = 'an_image' + self.standard_extension
145145
for path in (fname, pathlib.Path(fname)):
146146
img.set_filename(path)
147-
assert_equal(img.get_filename(), path)
148-
assert_equal(img.file_map['image'].filename, path)
147+
assert_equal(img.get_filename(), str(path))
148+
assert_equal(img.file_map['image'].filename, str(path))
149149
# to_ / from_ filename
150150
fname = 'another_image' + self.standard_extension
151151
for path in (fname, pathlib.Path(fname)):

nibabel/tests/test_image_load_save.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ def test_filename_save():
259259
for path in (fname, pathlib.Path(fname)):
260260
nils.save(img, path)
261261
rt_img = nils.load(path)
262-
assert_array_almost_equal(rt_img.get_data(), data)
262+
assert_array_almost_equal(rt_img.get_fdata(), data)
263263
assert_true(type(rt_img) is loadklass)
264264
# delete image to allow file close. Otherwise windows
265265
# raises an error when trying to delete the directory

nibabel/tests/test_loadsave.py

+9-3
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,10 @@ def test_read_img_data():
3737
]
3838
fnames_test += [pathlib.Path(p) for p in fnames_test]
3939
for fname in fnames_test:
40-
fpath = pjoin(data_path, fname)
40+
# os.path.join doesnt work between str / os.PathLike in py3.5
41+
fpath = pjoin(data_path, str(fname))
42+
if isinstance(fname, pathlib.Path):
43+
fpath = pathlib.Path(fpath)
4144
img = load(fpath)
4245
data = img.get_fdata()
4346
data2 = read_img_data(img)
@@ -49,8 +52,11 @@ def test_read_img_data():
4952
assert_array_equal(read_img_data(img, prefer='unscaled'), data)
5053
# Assert all caps filename works as well
5154
with TemporaryDirectory() as tmpdir:
52-
up_fpath = pjoin(tmpdir, fname.upper())
53-
shutil.copyfile(fpath, up_fpath)
55+
up_fpath = pjoin(tmpdir, str(fname).upper())
56+
if isinstance(fname, pathlib.Path):
57+
up_fpath = pathlib.Path(up_fpath)
58+
# shutil doesnt work with os.PathLike in py3.5
59+
shutil.copyfile(str(fpath), str(up_fpath))
5460
img = load(up_fpath)
5561
assert_array_equal(img.dataobj, data)
5662
del img

0 commit comments

Comments
 (0)