Source code for ewoksfluo.tests.test_positioners

import h5py
import pytest

from ..tasks import positioner_utils


[docs] @pytest.fixture(scope="module") def example_bliss_scan_uri(tmpdir_factory): filename = str(tmpdir_factory.mktemp("test_positioners").join("data.h5")) with h5py.File(filename, mode="w") as root: dset = root.create_dataset( "/1.1/instrument/positioners_start/energy", data=10.0 ) dset.attrs["units"] = "keV" dset = root.create_dataset( "/1.1/instrument/positioners_start/energy_und", data=[10.0, 10.0, 10.0000001], ) dset = root.create_dataset("/1.1/instrument/other/name", data=11.0) return f"{filename}::/1.1"
[docs] def test_get_energy(example_bliss_scan_uri): value = positioner_utils.get_primary_beam_energy_value(example_bliss_scan_uri) assert value is None value = positioner_utils.get_primary_beam_energy_value( example_bliss_scan_uri, search_on_units=True ) assert value == 10.0 value = positioner_utils.get_primary_beam_energy_value( example_bliss_scan_uri, energy_name="energy" ) assert value == 10.0 value = positioner_utils.get_primary_beam_energy_value( example_bliss_scan_uri, energy_name="energy_und" ) assert value == 10.0 value = positioner_utils.get_primary_beam_energy_value( example_bliss_scan_uri, energy_name="energy", energy_uri_template="instrument/positioners_start/{}", ) assert value == 10.0 value = positioner_utils.get_primary_beam_energy_value( example_bliss_scan_uri, energy_name="name", energy_uri_template="instrument/other/{}", ) assert value == 11.0
[docs] def test_get_energy_suburi(example_bliss_scan_uri): value = positioner_utils.get_primary_beam_energy_suburi(example_bliss_scan_uri) assert value == "instrument/positioners_start/energy"