import pytest import sys from conftest import test_with_simulators from slsdet import Detector from slsdet._slsdet import slsDetectorDefs detectorType = slsDetectorDefs.detectorType @pytest.mark.withdetectorsimulators def test_rx_ROI(test_with_simulators): """ Test rx_ROI property of Detector class. """ d = Detector() if d.type == detectorType.CHIPTESTBOARD or d.type == detectorType.XILINX_CHIPTESTBOARD: pytest.skip("Skipping ROI test for ctb/xilinx_ctb detector types.") if(d.type == detectorType.MYTHEN3 or d.type == detectorType.GOTTHARD2): d.rx_roi = (0, 10) roi = d.rx_roi assert roi == [(0, 10, -1, -1)] #d.rx_roi = [[5,15, 0, 1]] # not allowed for mythen3 d.rx_roi = [0,10, -1, -1] assert d.rx_roi == [(0,10,-1,-1)] d.rx_clearroi() else: d.rx_roi = (0, 10, 10, 20) roi = d.rx_roi assert roi == [(0, 10, 10, 20)] d.rx_roi = [5,15,15,25] assert d.rx_roi == [(5,15,15,25)] if d.type != detectorType.JUNGFRAU and d.numinterfaces != 2: d.rx_roi = [[0,10,0,20], [5,20,410,420]] roi = d.rx_roi assert roi == [(0,10,0,20), (5,20,410,420)] #in same file for jungfrau d.rx_clearroi() roi = d.rx_roi assert roi == [(-1,-1,-1,-1)] @pytest.mark.withdetectorsimulators @pytest.mark.parametrize("servers", [["moench", 1]], indirect=True) def test_type(test_with_specific_simulator): d = Detector() assert d.type == detectorType.MOENCH @pytest.mark.withdetectorsimulators @pytest.mark.parametrize("servers", [["moench", 1], ["jungfrau", 1]], indirect=True) def test_numinterfaces(test_with_specific_simulator): d = Detector() assert d.numinterfaces == 1