Source code for ewoksbm08.tests.test_save_xas
import numpy
from ..io.save_xas import save_xdi_data
from ..io.types import XdiData
[docs]
def test_save_xas(tmp_path):
xdi_filename = tmp_path / "example.xdi"
xdi_metadata = {
"Beamline": {},
"Scan": {
"start_time": "2025-09-02T17:26:14.195421+02:00",
"end_time": "2025-09-02T17:44:38.146967+02:00",
},
"Facility": {"current": 84.5, "fillingMode": "16 bunch"},
"Mono": {"name": "Si 311", "d_spacing": 1.637039},
}
data = {
"column_names": ["A", "B"],
"column_data": [numpy.asarray([1, 2, 3]), numpy.asarray([4, 5, 6])],
"xdi_metadata": xdi_metadata,
}
xdi_data = XdiData(**data)
save_xdi_data(xdi_data, xdi_filename)
with open(xdi_filename, "r") as f:
content = f.read()
expected = """# XDI/1.0 GSE/1.0
# Data collected at BM08-LISA of ESRF preproccessed with the beamline Calibration Tool
# Facility.name: ESRF
# Facility.xray_source: bending magnet
# Facility.current: 84.5
# Facility.fillingMode: 16 bunch
# Beamline.name: BM08-LISA
# Scan.start_time: 2025-09-02T17:26:14.195421+02:00
# Scan.end_time: 2025-09-02T17:44:38.146967+02:00
# Mono.name: Si 311
# Mono.d_spacing: 1.637039
# Mono.notes: LNT cooled
# Column.0: A
# Column.1: B
# -------------
# A B
1.0000000 4.0000000
2.0000000 5.0000000
3.0000000 6.0000000
"""
print(content)
assert content == expected