Coverage for Users/jsd/Library/CloudStorage/OneDrive-SimonFraserUniversity(1sfu)/projects/thztools/tests/test_pytest.py: 100%
32 statements
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-12 16:26 -0700
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-12 16:26 -0700
1import numpy as np
2import pytest
4from thztools.thztools import (
5 # costfunlsq,
6 fftfreq,
7 noisevar,
8 # shiftmtx,
9 # tdnll,
10 # tdnoisefit,
11 # tdtf,
12 thzgen,
13)
15global fname
18# ==================================================================
19@pytest.fixture()
20def arrangef():
21 dt = 0.5
22 f_odd_true = np.array([0.0, 0.4, 0.8, -0.8, -0.4])
23 f_even_true = np.array([0.0, 0.25, 0.5, 0.75, 1.0, -0.75, -0.5, -0.25])
24 return f_odd_true, f_even_true, dt
27@pytest.fixture()
28def act(arrangef):
29 f_odd = fftfreq(len(arrangef[0]), arrangef[2])
30 f_even = fftfreq(len(arrangef[1]), arrangef[2])
31 return f_odd, f_even
34def test_fftfreq(arrangef, act):
35 assert arrangef[0].all() == act[0].all()
36 assert arrangef[1].all() == act[1].all()
39# ============================================================================
40# test noisevar
41@pytest.fixture()
42def arrange():
43 sigma_alpha = (1e-4,) # Additive noise amplitude [relative to peak]
44 sigma_beta = (0.01,) # Multiplicative noise amplitude [-]
45 sigma_tau = (1e-3,) # Time base noise amplitude [ps]
46 np.array([sigma_alpha, sigma_beta, sigma_tau])
48 y, t = thzgen(n=20, ts=0.05, t0=2.5)
49 return y, t
52@pytest.fixture()
53def vmu(arrange):
54 vmu = noisevar(arrange[0], arrange[1], 2.5)
55 return vmu
58def test_noisevar(vmu):
59 vmu_true = np.array(
60 [
61 4.36242890663103e-6,
62 1.18964333287937e-5,
63 1.95293889001674e-5,
64 2.55422643627414e-5,
65 2.93161838588929e-5,
66 3.09039003252619e-5,
67 3.06822632940482e-5,
68 2.90574034275636e-5,
69 2.57635783418052e-5,
70 1.82432209755600e-5,
71 4.91505996620606e-6,
72 2.38368994086406e-6,
73 3.48676583001915e-5,
74 8.17878674468416e-5,
75 0.000100010020280983,
76 8.17871774183767e-5,
77 4.81773804791099e-05,
78 1.93749781259091e-5,
79 3.62858609090918e-6,
80 1.05084791456656e-07,
81 ]
82 )
84 assert vmu.all() == vmu_true.all()