Initial version
This commit is contained in:
46
test/test_utils.py
Normal file
46
test/test_utils.py
Normal file
@ -0,0 +1,46 @@
|
||||
from copy import copy
|
||||
import pytest
|
||||
import numpy as np
|
||||
|
||||
from mdevaluate import utils
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def logdata(request):
|
||||
xdata = np.logspace(-1, 3, 50)
|
||||
ydata = np.exp(- (xdata)**0.7)
|
||||
return xdata, ydata
|
||||
|
||||
|
||||
def test_filon_fourier_transformation(logdata):
|
||||
xdata, ydata = logdata
|
||||
|
||||
xdata_zero = copy(xdata)
|
||||
xdata_zero[0] = 0
|
||||
_, filon = utils.filon_fourier_transformation(xdata_zero, ydata)
|
||||
assert not np.isnan(filon).any(), 'There are NaN values in the filon result!'
|
||||
|
||||
freqs = np.logspace(-4, 1)
|
||||
filon_freqs, filon_imag = utils.filon_fourier_transformation(
|
||||
xdata, xdata, frequencies=freqs, derivative='linear', imag=True
|
||||
)
|
||||
|
||||
assert (freqs == filon_freqs).all()
|
||||
|
||||
freqs, filon_real = utils.filon_fourier_transformation(
|
||||
xdata, xdata, frequencies=freqs, derivative='linear', imag=False
|
||||
)
|
||||
assert np.isclose(filon_imag.real, filon_real).all()
|
||||
|
||||
|
||||
def test_histogram():
|
||||
data = np.random.rand(100)
|
||||
bins = np.linspace(0, 1)
|
||||
np_hist = np.histogram(data, bins=bins)[0]
|
||||
ut_hist = utils.histogram(data, bins=bins)[0]
|
||||
assert (np_hist == ut_hist).all()
|
||||
|
||||
bins = np.linspace(0.3, 1.5)
|
||||
np_hist = np.histogram(data, bins=bins)[0]
|
||||
ut_hist = utils.histogram(data, bins=bins)[0]
|
||||
assert (np_hist == ut_hist).all()
|
Reference in New Issue
Block a user