Source code for est.tests.test_write

import pytest
from est.core.types import XASObject

# from silx.io.utils import h5py_read_dataset
# import h5py

try:
    import larch
except ImportError:
    larch = None
else:
    from est.core.process.larch.pre_edge import Larch_pre_edge


[docs] @pytest.mark.skipif(larch is None, reason="larch is not installed") def test_write(spectrum_cu_from_larch, tmpdir): xas_obj = XASObject( spectra=(spectrum_cu_from_larch,), energy=spectrum_cu_from_larch.energy ) assert spectrum_cu_from_larch.pre_edge is None assert spectrum_cu_from_larch.e0 is None process = Larch_pre_edge(inputs={"xas_obj": xas_obj, "pre_edge_config": {}}) process.run() assert spectrum_cu_from_larch.pre_edge is not None assert spectrum_cu_from_larch.e0 is not None
# check process # output_file = tmpdir / "output.h5" # xas_obj.dump(str(output_file)) # assert output_file.exists() # with h5py.File(str(output_file), "r") as h5f: # scan = h5f["scan1"] # pre_edge_process = scan["xas_process_1"] # # check general informqtion # assert "class_instance" in pre_edge_process # assert "date" in pre_edge_process # assert "processing_order" in pre_edge_process # assert "program" in pre_edge_process # assert "version" in pre_edge_process # assert h5py_read_dataset(pre_edge_process["program"]) == "larch_pre_edge" # # check results # assert "results" in pre_edge_process # results_grp = pre_edge_process["results"] # assert "mu" in results_grp # assert "normalized_mu" in results_grp