Source code for est.tests.larch.test_pre_edge
import pytest
from est.core.types import XASObject
try:
import larch
except ImportError:
larch = None
else:
from est.core.process.larch.pre_edge import larch_pre_edge, process_spectr_pre_edge
[docs]
@pytest.mark.skipif(larch is None, reason="xraylarch not installed")
def test_single_spectrum(spectrum_cu_from_larch):
"""Make sure computation on one spectrum is valid"""
configuration = {}
assert spectrum_cu_from_larch.pre_edge is None
assert spectrum_cu_from_larch.e0 is None
process_spectr_pre_edge(spectrum_cu_from_larch, configuration)
assert spectrum_cu_from_larch.pre_edge is not None
assert spectrum_cu_from_larch.e0 is not None
[docs]
@pytest.fixture()
def xas_object(spectrum_cu_from_larch):
configuration = {}
return XASObject(
spectra=(spectrum_cu_from_larch,),
energy=spectrum_cu_from_larch.energy,
dim1=1,
dim2=1,
configuration=configuration,
)
[docs]
@pytest.mark.skipif(larch is None, reason="xraylarch not installed")
def test_multiple_spectra(xas_object):
"""Make sure computation on spectra is valid (n spectrum)"""
spectrum0 = xas_object.spectra.data.flat[0]
assert spectrum0.pre_edge is None
assert spectrum0.e0 is None
larch_pre_edge(xas_object)
assert spectrum0.pre_edge is not None
assert spectrum0.e0 is not None
[docs]
@pytest.mark.skipif(larch is None, reason="xraylarch not installed")
def test_multiple_spectra_asdict(xas_object):
"""Make sure computation on spectra is valid (n spectrum)"""
spectrum0 = xas_object.spectra.data.flat[0]
assert spectrum0.pre_edge is None
assert spectrum0.e0 is None
xas_object = larch_pre_edge(xas_object.to_dict())
spectrum0 = xas_object.spectra.data.flat[0]
assert spectrum0.pre_edge is not None
assert spectrum0.e0 is not None