Skip to content
Snippets Groups Projects
Commit a337f9b6 authored by Karim Ahmed's avatar Karim Ahmed
Browse files

add more tests

parent 5fff3ca6
No related branches found
No related tags found
1 merge request!738New calcat interface
""" """
TEST CALCAT INTERFACE: TEST CALCAT INTERFACE:
1- AGIPD_CalibrationData/ CalibrationData / metadata() All the tests run with client = None
2- physical_detector_units().
""" """
import numpy as np
import pytest import pytest
from cal_tools.calcat_interface import AGIPD_CalibrationData, DSSC_CalibrationData from cal_tools.calcat_interface import (
AGIPD_CalibrationData,
DSSC_CalibrationData,
JUNGFRAU_CalibrationData,
LPD_CalibrationData,
)
@pytest.mark.requires_gpfs @pytest.mark.requires_gpfs
...@@ -20,9 +25,9 @@ from cal_tools.calcat_interface import AGIPD_CalibrationData, DSSC_CalibrationDa ...@@ -20,9 +25,9 @@ from cal_tools.calcat_interface import AGIPD_CalibrationData, DSSC_CalibrationDa
] ]
) )
def test_AGIPD_CalibrationData(mod, mod_naming): def test_AGIPD_CalibrationData_metadata(mod, mod_naming):
"""Test CalibrationData through AGIPD_CalibrationData """Test CalibrationData through AGIPD_CalibrationData
and test metadata method. and test metadata() method.
Args: Args:
mod (str): Module name mod (str): Module name
...@@ -43,7 +48,18 @@ def test_AGIPD_CalibrationData(mod, mod_naming): ...@@ -43,7 +48,18 @@ def test_AGIPD_CalibrationData(mod, mod_naming):
module_naming=mod_naming module_naming=mod_naming
).metadata() ).metadata()
assert isinstance(agipd_md, dict) assert isinstance(agipd_md, dict)
# Check correct module naming (da, qm, modno)
assert list(agipd_md.keys())[0] == mod assert list(agipd_md.keys())[0] == mod
# closest_ccv_by_time_by_condition
assert [
"begin_validity_at",
"cc_id", "cc_name",
"ccv_id", "ccv_name",
"condition_id", "dataset",
"end_idx", "end_validity_at",
"path", "physical_name",
"raw_data_location", "start_idx",
] == sorted(list(agipd_md[mod]["Offset"].keys()))
@pytest.mark.parametrize( @pytest.mark.parametrize(
...@@ -55,14 +71,14 @@ def test_AGIPD_CalibrationData(mod, mod_naming): ...@@ -55,14 +71,14 @@ def test_AGIPD_CalibrationData(mod, mod_naming):
] ]
) )
def test_physical_detector_units(mod, mod_naming): def test_DSSC_physical_detector_units(mod, mod_naming):
"""Test physical_detector_units property. """Test physical_detector_units property and DSSC_CalibrationData.
Args: Args:
mod (str): Module name mod (str): Module name
mod_naming (str): Selected module naming mod_naming (str): Selected module naming
""" """
agipd_cal = DSSC_CalibrationData( dssc_cal = DSSC_CalibrationData(
detector_name="SCS_DET_DSSC1M-1", detector_name="SCS_DET_DSSC1M-1",
sensor_bias_voltage=300, sensor_bias_voltage=300,
memory_cells=400, memory_cells=400,
...@@ -72,10 +88,63 @@ def test_physical_detector_units(mod, mod_naming): ...@@ -72,10 +88,63 @@ def test_physical_detector_units(mod, mod_naming):
encoded_gain=None, encoded_gain=None,
event_at="2020-01-07 13:26:48.00", event_at="2020-01-07 13:26:48.00",
modules=[mod], modules=[mod],
client=None,
module_naming=mod_naming module_naming=mod_naming
) )
pdus = agipd_cal.physical_detector_units pdus = dssc_cal.physical_detector_units
assert isinstance(pdus, dict) assert isinstance(pdus, dict)
assert len(pdus) == 16 assert len(pdus) == 16
assert list(pdus.keys())[0] == mod assert list(pdus.keys())[0] == mod
@pytest.mark.requires_gpfs
@pytest.mark.parametrize(
"mod,mod_naming",
[
("JNGFR01", "da"),
(1, "modno"),
]
)
def test_JUNGFRAU_CalibrationData_ndarray(mod, mod_naming):
"""Test ndarray() through JUNGFRAU_CalibrationData.
Args:
mod (str): Module name
mod_naming (str): Selected module naming
"""
jf_cal = JUNGFRAU_CalibrationData(
detector_name="SPB_IRDA_JF4M",
sensor_bias_voltage=180,
memory_cells=1,
integration_time=10,
gain_setting=0,
gain_mode=0,
modules=[mod],
module_naming=mod_naming,
event_at="2022-07-11 13:26:48.00",
)
assert isinstance(jf_cal.ndarray(mod, "Offset10Hz"), np.ndarray)
@pytest.mark.requires_gpfs
def test_LPD_CalibrationData_ndarray():
"""Test ndarray_map() through LPD_CalibrationData.
Args:
mod (str): Module name
mod_naming (str): Selected module naming
"""
lpd_cal = LPD_CalibrationData(
detector_name="FXE_DET_LPD1M-1",
sensor_bias_voltage=250,
memory_cells=512,
feedback_capacitor=5.0,
event_at="2022-07-11 13:26:48.00",
)
const_map = lpd_cal.ndarray_map()
assert isinstance(const_map, dict)
assert "LPD00" in const_map.keys()
assert "Offset" in const_map["LPD00"].keys()
assert isinstance(const_map["LPD00"]["Offset"], np.ndarray)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment