33import tempfile
44import numpy as np
55
6+ import pytest
7+
68from os .path import join as pjoin
79
810import nibabel as nib
@@ -140,8 +142,10 @@ def test_load_empty_file(self):
140142 else :
141143 assert type (tfile .tractogram ), LazyTractogram
142144
143- assert_tractogram_equal (tfile .tractogram ,
144- DATA ['empty_tractogram' ])
145+ with pytest .warns (None ) as w :
146+ assert_tractogram_equal (tfile .tractogram ,
147+ DATA ['empty_tractogram' ])
148+ assert len (w ) == lazy_load
145149
146150 def test_load_simple_file (self ):
147151 for lazy_load in [False , True ]:
@@ -155,8 +159,10 @@ def test_load_simple_file(self):
155159 else :
156160 assert type (tfile .tractogram ), LazyTractogram
157161
158- assert_tractogram_equal (tfile .tractogram ,
159- DATA ['simple_tractogram' ])
162+ with pytest .warns (None ) as w :
163+ assert_tractogram_equal (tfile .tractogram ,
164+ DATA ['simple_tractogram' ])
165+ assert len (w ) == lazy_load
160166
161167 def test_load_complex_file (self ):
162168 for lazy_load in [False , True ]:
@@ -180,8 +186,10 @@ def test_load_complex_file(self):
180186 data = DATA ['data_per_streamline' ]
181187 tractogram .data_per_streamline = data
182188
183- assert_tractogram_equal (tfile .tractogram ,
184- tractogram )
189+ with pytest .warns (None ) as w :
190+ assert_tractogram_equal (tfile .tractogram ,
191+ tractogram )
192+ assert len (w ) == lazy_load
185193
186194 def test_save_tractogram_file (self ):
187195 tractogram = Tractogram (DATA ['streamlines' ],
@@ -193,15 +201,14 @@ def test_save_tractogram_file(self):
193201 nib .streamlines .save (trk_file , "dummy.trk" , header = {})
194202
195203 # Wrong extension.
196- with clear_and_catch_warnings (record = True ,
197- modules = [nib .streamlines ]) as w :
204+ with pytest .warns (None ) as w :
198205 trk_file = trk .TrkFile (tractogram )
199206 with self .assertRaises (ValueError ):
200207 nib .streamlines .save (trk_file , "dummy.tck" , header = {})
201208
202- assert len (w ) == 1
203- assert issubclass (w [0 ].category , ExtensionWarning )
204- assert "extension" in str (w [0 ].message )
209+ assert len (w ) == 1
210+ assert issubclass (w [0 ].category , ExtensionWarning )
211+ assert "extension" in str (w [0 ].message )
205212
206213 with InTemporaryDirectory ():
207214 nib .streamlines .save (trk_file , "dummy.trk" )
@@ -237,33 +244,32 @@ def test_save_complex_file(self):
237244 with InTemporaryDirectory ():
238245 filename = 'streamlines' + ext
239246
240- with clear_and_catch_warnings (record = True ,
241- modules = [trk ]) as w :
247+ with pytest .warns (None ) as w :
242248 nib .streamlines .save (complex_tractogram , filename )
243249
244- # If streamlines format does not support saving data
245- # per point or data per streamline, warning messages
246- # should be issued.
247- nb_expected_warnings = \
248- ((not cls .SUPPORTS_DATA_PER_POINT ) +
249- (not cls .SUPPORTS_DATA_PER_STREAMLINE ))
250+ # If streamlines format does not support saving data
251+ # per point or data per streamline, warning messages
252+ # should be issued.
253+ nb_expected_warnings = \
254+ ((not cls .SUPPORTS_DATA_PER_POINT ) +
255+ (not cls .SUPPORTS_DATA_PER_STREAMLINE ))
250256
251- assert len (w ) == nb_expected_warnings
252- for i in range (nb_expected_warnings ):
253- assert issubclass (w [i ].category , Warning )
257+ assert len (w ) == nb_expected_warnings
258+ for i in range (nb_expected_warnings ):
259+ assert issubclass (w [i ].category , Warning )
254260
255- tractogram = Tractogram (DATA ['streamlines' ],
256- affine_to_rasmm = np .eye (4 ))
261+ tractogram = Tractogram (DATA ['streamlines' ],
262+ affine_to_rasmm = np .eye (4 ))
257263
258- if cls .SUPPORTS_DATA_PER_POINT :
259- tractogram .data_per_point = DATA ['data_per_point' ]
264+ if cls .SUPPORTS_DATA_PER_POINT :
265+ tractogram .data_per_point = DATA ['data_per_point' ]
260266
261- if cls .SUPPORTS_DATA_PER_STREAMLINE :
262- data = DATA ['data_per_streamline' ]
263- tractogram .data_per_streamline = data
267+ if cls .SUPPORTS_DATA_PER_STREAMLINE :
268+ data = DATA ['data_per_streamline' ]
269+ tractogram .data_per_streamline = data
264270
265- tfile = nib .streamlines .load (filename , lazy_load = False )
266- assert_tractogram_equal (tfile .tractogram , tractogram )
271+ tfile = nib .streamlines .load (filename , lazy_load = False )
272+ assert_tractogram_equal (tfile .tractogram , tractogram )
267273
268274 def test_save_sliced_tractogram (self ):
269275 tractogram = Tractogram (DATA ['streamlines' ],
0 commit comments