Skip to content

Commit f90750f

Browse files
author
Jakub Kaczmarzyk
committed
mv test of failure + rm redundant tests
1 parent ca74f93 commit f90750f

File tree

2 files changed

+13
-33
lines changed

2 files changed

+13
-33
lines changed

nibabel/tests/test_image_load_save.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
from ..spatialimages import SpatialImage
3131

3232
from numpy.testing import assert_array_equal, assert_array_almost_equal
33-
from nose.tools import assert_true, assert_equal
33+
from nose.tools import assert_true, assert_equal, assert_raises
3434

3535
_, have_scipy, _ = optional_package('scipy') # No scipy=>no SPM-format writing
3636
DATA_PATH = pjoin(dirname(__file__), 'data')
@@ -322,3 +322,14 @@ def test_guessed_image_type():
322322
assert_equal(nils.guessed_image_type(
323323
pjoin(DATA_PATH, 'analyze.hdr')),
324324
Spm2AnalyzeImage)
325+
326+
327+
def test_fail_save():
328+
with InTemporaryDirectory():
329+
dataobj = np.ones((10, 10, 10), dtype=np.float16)
330+
affine = np.eye(4, dtype=np.float32)
331+
img = SpatialImage(dataobj, affine)
332+
# Fails because float16 is not supported.
333+
with assert_raises(AttributeError):
334+
nils.save(img, 'foo.nii.gz')
335+
del img

nibabel/tests/test_loadsave.py

Lines changed: 1 addition & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@
1010
from .. import (Spm99AnalyzeImage, Spm2AnalyzeImage,
1111
Nifti1Pair, Nifti1Image,
1212
Nifti2Pair, Nifti2Image)
13-
from ..spatialimages import SpatialImage
14-
from ..loadsave import load, read_img_data, save
13+
from ..loadsave import load, read_img_data
1514
from ..filebasedimages import ImageFileError
1615
from ..tmpdirs import InTemporaryDirectory, TemporaryDirectory
1716

@@ -136,33 +135,3 @@ def test_read_img_data_nifti():
136135
assert_array_equal(exp_offset, read_img_data(img_back))
137136
# Delete stuff that might hold onto file references
138137
del img, img_back, data_back
139-
140-
141-
def test_save():
142-
with InTemporaryDirectory():
143-
dataobj = np.ones((10, 10, 10), dtype=np.float16)
144-
affine = np.eye(4, dtype=np.float32)
145-
img = SpatialImage(dataobj, affine)
146-
147-
# The `save` method can raise one of many types of errors, but they are
148-
# all subclasses of Exception. This attempt will fail because float16
149-
# is not supported.
150-
with assert_raises(Exception):
151-
save(img, 'foo.nii.gz')
152-
153-
# Test the saving of several types of images.
154-
dataobj = np.ones((10, 10, 10), dtype=np.float32)
155-
img = SpatialImage(dataobj, affine)
156-
for ext in {'hdr', 'img', 'nii', 'nii.gz', 'mgz'}:
157-
this_filepath = "foo." + ext
158-
save(img, this_filepath)
159-
img_loaded = load(this_filepath)
160-
assert_array_equal(np.asarray(img_loaded.dataobj), dataobj)
161-
assert_array_equal(np.asarray(img_loaded.affine), affine)
162-
163-
# Test not being able to work out file type.
164-
with assert_raises(ImageFileError):
165-
save(img, 'foo.noexists')
166-
167-
# Delete stuff that might hold onto file references
168-
del img, img_loaded

0 commit comments

Comments
 (0)