Skip to content

Commit 7452d18

Browse files
authored
signal: add tests for get_window, place_poles, sepfir2d (#1554)
1 parent dc348d9 commit 7452d18

3 files changed

Lines changed: 59 additions & 0 deletions

File tree

tests/signal/test_ltisys.pyi

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,11 @@ from scipy.signal import (
2020
impulse,
2121
lsim,
2222
lti,
23+
place_poles,
2324
step,
2425
)
2526
from scipy.signal._ltisys import (
27+
Bunch,
2628
StateSpaceContinuous,
2729
StateSpaceDiscrete,
2830
TransferFunctionContinuous,
@@ -53,6 +55,7 @@ _c64_1d: _VecC64
5355
_c64_2d: onp.Array2D[np.complex64]
5456
_c128_1d: _VecC128
5557
_c128_2d: onp.Array2D[np.complex128]
58+
_i64_1d: onp.Array1D[np.int64]
5659

5760
_lti_f32: lti[np.float32]
5861
_lti_f64: lti[np.float64]
@@ -275,6 +278,18 @@ assert_type(_lti_c64.freqresp(), tuple[_VecF32, _VecC64])
275278
assert_type(_lti_f64.freqresp(), tuple[_VecF64, _VecC128])
276279
assert_type(_lti_c128.freqresp(), tuple[_VecF64, _VecC128])
277280

281+
###
282+
# place_poles
283+
284+
place_poles_result = place_poles(_f64_2d, _f64_2d, _i64_1d)
285+
assert_type(place_poles_result, Bunch)
286+
assert_type(place_poles_result.gain_matrix, _MatF64)
287+
assert_type(place_poles_result.computed_poles, _VecF64)
288+
assert_type(place_poles_result.requested_poles, _VecF64)
289+
assert_type(place_poles_result.X, onp.Array2D[np.complex128])
290+
assert_type(place_poles_result.rtol, float)
291+
assert_type(place_poles_result.nb_iter, int)
292+
278293
###
279294
# dlsim
280295

tests/signal/test_spline.pyi

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# type-tests for `signal/_spline.pyi`
2+
3+
from typing import assert_type
4+
5+
import numpy as np
6+
import optype.numpy as onp
7+
8+
from scipy.signal import sepfir2d
9+
10+
###
11+
12+
_f32_2d: onp.Array2D[np.float32]
13+
_f64_2d: onp.Array2D[np.float64]
14+
_c64_2d: onp.Array2D[np.complex64]
15+
_c128_2d: onp.Array2D[np.complex128]
16+
_inexact_2d: onp.Array2D[np.float64 | np.complex128]
17+
18+
###
19+
20+
# sepfir2d
21+
assert_type(sepfir2d(_f32_2d, _f32_2d, _f32_2d), onp.ArrayND[np.float32 | np.float64])
22+
assert_type(sepfir2d(_f64_2d, _f64_2d, _f64_2d), onp.ArrayND[np.float32 | np.float64])
23+
assert_type(sepfir2d(_c64_2d, _c64_2d, _c64_2d), onp.ArrayND[np.complex64 | np.complex128])
24+
assert_type(sepfir2d(_c128_2d, _c128_2d, _c128_2d), onp.ArrayND[np.complex64 | np.complex128])
25+
assert_type(sepfir2d(_inexact_2d, _inexact_2d, _inexact_2d), onp.ArrayND[np.float32 | np.float64 | np.complex64 | np.complex128])

tests/signal/windows/test_windows.pyi

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1+
# type-tests for `signal/windows/_windows.pyi`
2+
13
from typing import Any, assert_type
24

35
import numpy as np
46
import optype.numpy as onp
57

8+
from scipy.signal import get_window as signal_get_window
69
from scipy.signal.windows import (
710
barthann,
811
bartlett,
@@ -35,7 +38,23 @@ from scipy.signal.windows import (
3538
###
3639

3740
# get_window
41+
assert_type(signal_get_window("hann", 64), onp.Array1D[np.float64])
42+
assert_type(signal_get_window(4.0, 64), onp.Array1D[np.float64])
43+
assert_type(signal_get_window(("hann",), 64), onp.Array1D[np.float64])
44+
assert_type(signal_get_window(("kaiser", 4.0), 64), onp.Array1D[np.float64])
45+
assert_type(signal_get_window(("gaussian", 3.0), 64), onp.Array1D[np.float64])
46+
assert_type(signal_get_window(("general_gaussian", 1.5, 3.0), 64), onp.Array1D[np.float64])
47+
assert_type(signal_get_window(("dpss", 2, 4, True), 64), onp.Array1D[np.float64])
48+
assert_type(signal_get_window("hann", 64, fftbins=False), onp.Array1D[np.float64])
49+
assert_type(signal_get_window("hann", 64, xp=np), Any)
3850
assert_type(get_window("hann", 64), onp.Array1D[np.float64])
51+
assert_type(get_window(4.0, 64), onp.Array1D[np.float64])
52+
assert_type(get_window(("hann",), 64), onp.Array1D[np.float64])
53+
assert_type(get_window(("kaiser", 4.0), 64), onp.Array1D[np.float64])
54+
assert_type(get_window(("gaussian", 3.0), 64), onp.Array1D[np.float64])
55+
assert_type(get_window(("general_gaussian", 1.5, 3.0), 64), onp.Array1D[np.float64])
56+
assert_type(get_window(("dpss", 2, 4, True), 64), onp.Array1D[np.float64])
57+
assert_type(get_window("hann", 64, fftbins=False), onp.Array1D[np.float64])
3958
assert_type(get_window("hann", 64, xp=np), Any)
4059

4160
# barthann

0 commit comments

Comments
 (0)