1212 assert_allclose ,
1313 assert_array_equal ,
1414 assert_equal ,
15- assert_raises ,
16- assert_warns ,
1715)
1816
1917import pywt
@@ -69,7 +67,9 @@ def test_swt_decomposition():
6967
7068def test_swt_max_level ():
7169 # odd sized signal will warn about no levels of decomposition possible
72- assert_warns (UserWarning , pywt .swt_max_level , 11 )
70+ with pytest .warns (UserWarning ):
71+ pywt .swt_max_level (11 )
72+
7373 with warnings .catch_warnings ():
7474 warnings .simplefilter ('ignore' , UserWarning )
7575 assert_equal (pywt .swt_max_level (11 ), 0 )
@@ -134,7 +134,8 @@ def test_swt_axis():
134134 assert_array_equal (row , cD2 )
135135
136136 # axis too large
137- assert_raises (ValueError , pywt .swt , x , db1 , level = 2 , axis = 5 )
137+ with pytest .raises (ValueError ):
138+ pywt .swt (x , db1 , level = 2 , axis = 5 )
138139
139140
140141def test_swt_iswt_integration ():
@@ -217,9 +218,8 @@ def test_swt_default_level_by_axis():
217218
218219def test_swt2_ndim_error ():
219220 x = np .ones (8 )
220- with warnings .catch_warnings ():
221- warnings .simplefilter ('ignore' , FutureWarning )
222- assert_raises (ValueError , pywt .swt2 , x , 'haar' , level = 1 )
221+ with pytest .raises (ValueError ):
222+ pywt .swt2 (x , 'haar' , level = 1 )
223223
224224
225225@pytest .mark .slow
@@ -298,10 +298,12 @@ def test_swt2_axes():
298298 assert_allclose (X , r2 , atol = atol )
299299
300300 # duplicate axes not allowed
301- assert_raises (ValueError , pywt .swt2 , X , current_wavelet , 1 ,
302- axes = (0 , 0 ))
301+ with pytest .raises (ValueError ):
302+ pywt .swt2 (X , current_wavelet , 1 , axes = (0 , 0 ))
303+
303304 # too few axes
304- assert_raises (ValueError , pywt .swt2 , X , current_wavelet , 1 , axes = (0 , ))
305+ with pytest .raises (ValueError ):
306+ pywt .swt2 (X , current_wavelet , 1 , axes = (0 , ))
305307
306308
307309def test_swtn_axes ():
@@ -325,21 +327,24 @@ def test_swtn_axes():
325327 assert_equal (empty , [])
326328
327329 # duplicate axes not allowed
328- assert_raises (ValueError , pywt .swtn , X , current_wavelet , 1 , axes = (0 , 0 ))
330+ with pytest .raises (ValueError ):
331+ pywt .swtn (X , current_wavelet , 1 , axes = (0 , 0 ))
329332
330333 # data.ndim = 0
331- assert_raises (ValueError , pywt .swtn , np .asarray ([]), current_wavelet , 1 )
334+ with pytest .raises (ValueError ):
335+ pywt .swtn (np .asarray ([]), current_wavelet , 1 )
332336
333337 # start_level too large
334- assert_raises ( ValueError , pywt . swtn , X , current_wavelet ,
335- level = 1 , start_level = 2 )
338+ with pytest . raises ( ValueError ):
339+ pywt . swtn ( X , current_wavelet , level = 1 , start_level = 2 )
336340
337341 # level < 1 in swt_axis call
338- assert_raises (ValueError , swt_axis , X , current_wavelet , level = 0 ,
339- start_level = 0 )
342+ with pytest .raises (ValueError ):
343+ swt_axis (X , current_wavelet , level = 0 , start_level = 0 )
344+
340345 # odd-sized data not allowed
341- assert_raises (ValueError , swt_axis , X [: - 1 , :], current_wavelet , level = 0 ,
342- start_level = 0 , axis = 0 )
346+ with pytest . raises (ValueError ):
347+ swt_axis ( X [ - 1 , :], current_wavelet , level = 0 , start_level = 0 , axis = 0 )
343348
344349
345350@pytest .mark .slow
@@ -401,12 +406,17 @@ def test_iswtn_errors():
401406 coeffs = pywt .swtn (x , w , max_level , axes = axes )
402407
403408 # more axes than dimensions transformed
404- assert_raises (ValueError , pywt .iswtn , coeffs , w , axes = (0 , 1 , 2 ))
409+ with pytest .raises (ValueError ):
410+ pywt .iswtn (coeffs , w , axes = (0 , 1 , 2 ))
411+
405412 # duplicate axes not allowed
406- assert_raises (ValueError , pywt .iswtn , coeffs , w , axes = (0 , 0 ))
413+ with pytest .raises (ValueError ):
414+ pywt .iswtn (coeffs , w , axes = (0 , 0 ))
415+
407416 # mismatched coefficient size
408417 coeffs [0 ]['da' ] = coeffs [0 ]['da' ][:- 1 , :]
409- assert_raises (RuntimeError , pywt .iswtn , coeffs , w , axes = axes )
418+ with pytest .raises (RuntimeError ):
419+ pywt .iswtn (coeffs , w , axes = axes )
410420
411421
412422def test_swtn_iswtn_unique_shape_per_axis ():
@@ -441,8 +451,11 @@ def test_per_axis_wavelets():
441451 assert_allclose (pywt .iswtn (coefs , wavelets [:1 ]), data , atol = 1e-14 )
442452
443453 # length of wavelets doesn't match the length of axes
444- assert_raises (ValueError , pywt .swtn , data , wavelets [:2 ], level )
445- assert_raises (ValueError , pywt .iswtn , coefs , wavelets [:2 ])
454+ with pytest .raises (ValueError ):
455+ pywt .swtn (data , wavelets [:2 ], level )
456+
457+ with pytest .raises (ValueError ):
458+ pywt .iswtn (coefs , wavelets [:2 ])
446459
447460 with warnings .catch_warnings ():
448461 warnings .simplefilter ('ignore' , FutureWarning )
@@ -458,11 +471,12 @@ def test_error_on_continuous_wavelet():
458471 for dec_func , rec_func in zip ([pywt .swt , pywt .swt2 , pywt .swtn ],
459472 [pywt .iswt , pywt .iswt2 , pywt .iswtn ]):
460473 for cwave in ['morl' , pywt .DiscreteContinuousWavelet ('morl' )]:
461- assert_raises (ValueError , dec_func , data , wavelet = cwave ,
462- level = 3 )
474+ with pytest . raises (ValueError ):
475+ dec_func ( data , wavelet = cwave , level = 3 )
463476
464477 c = dec_func (data , 'db1' , level = 3 )
465- assert_raises (ValueError , rec_func , c , wavelet = cwave )
478+ with pytest .raises (ValueError ):
479+ rec_func (c , wavelet = cwave )
466480
467481
468482def test_iswt_mixed_dtypes ():
@@ -552,11 +566,13 @@ def test_iswtn_mixed_dtypes():
552566
553567def test_swt_zero_size_axes ():
554568 # raise on empty input array
555- assert_raises (ValueError , pywt .swt , [], 'db2' )
569+ with pytest .raises (ValueError ):
570+ pywt .swt ([], 'db2' )
556571
557572 # >1D case uses a different code path so check there as well
558573 x = np .ones ((1 , 4 ))[0 :0 , :] # 2D with a size zero axis
559- assert_raises (ValueError , pywt .swtn , x , 'db2' , level = 1 , axes = (0 ,))
574+ with pytest .raises (ValueError ):
575+ pywt .swtn (x , 'db2' , level = 1 , axes = (0 ,))
560576
561577
562578def test_swt_variance_and_energy_preservation ():
@@ -575,7 +591,8 @@ def test_swt_variance_and_energy_preservation():
575591 np .linalg .norm (np .concatenate (coeffs )))
576592
577593 # non-orthogonal wavelet with norm=True raises a warning
578- assert_warns (UserWarning , pywt .swt , x , 'bior2.2' , norm = True )
594+ with pytest .warns (UserWarning ):
595+ pywt .swt (x , 'bior2.2' , norm = True )
579596
580597
581598def test_swt2_variance_and_energy_preservation ():
@@ -598,7 +615,8 @@ def test_swt2_variance_and_energy_preservation():
598615 np .linalg .norm (np .concatenate (coeff_list )))
599616
600617 # non-orthogonal wavelet with norm=True raises a warning
601- assert_warns (UserWarning , pywt .swt2 , x , 'bior2.2' , level = 4 , norm = True )
618+ with pytest .warns (UserWarning ):
619+ pywt .swt2 (x , 'bior2.2' , level = 4 , norm = True )
602620
603621
604622def test_swtn_variance_and_energy_preservation ():
@@ -621,7 +639,8 @@ def test_swtn_variance_and_energy_preservation():
621639 np .linalg .norm (np .concatenate (coeff_list )))
622640
623641 # non-orthogonal wavelet with norm=True raises a warning
624- assert_warns (UserWarning , pywt .swtn , x , 'bior2.2' , level = 4 , norm = True )
642+ with pytest .warns (UserWarning ):
643+ pywt .swtn (x , 'bior2.2' , level = 4 , norm = True )
625644
626645
627646def test_swt_ravel_and_unravel ():
0 commit comments