def test_PlotAxes(self, elements=[ "_test_ct_1_1", "_test_ct_1_2", "_test_ct_1_3", "_test_2d_1_3", "_test_mt_1_3/position" ]): mg_name = str(uuid.uuid1()) argin = [mg_name] + elements self.pool.CreateMeasurementGroup(argin) try: mg = Device(mg_name) mg.setPlotType("Image", elements[0]) mg.setPlotType("Spectrum", elements[1]) mg.setPlotType("No", elements[2]) mg.setPlotType("Image", elements[3]) mg.setPlotType("Image", elements[4]) result = mg.getPlotAxes() self._assertResult(result, elements, []) mg.setPlotAxes(["<idx>", "<idx>"], elements[0]) mg.setPlotAxes(["<mov>"], elements[1]) with self.assertRaises(Exception): mg.setPlotAxes(['<mov>'], elements[2]) mg.setPlotAxes(["<idx>", "<idx>"], elements[3]) mg.setPlotAxes(["<idx>", "<idx>"], elements[4]) result = mg.getPlotAxes() expected_result = [['<idx>', '<idx>'], ['<mov>'], [], ['<idx>', '<idx>'], ['<idx>', '<idx>']] self._assertMultipleResults(result, elements, expected_result) mg.setPlotAxes(["<mov>", "<idx>"], elements[0]) mg.setPlotAxes(["<idx>"], elements[1]) result = mg.getPlotAxes() expected_result = [['<mov>', '<idx>'], ['<idx>'], [], ['<idx>', '<idx>'], ['<idx>', '<idx>']] self._assertMultipleResults(result, elements, expected_result) mg.setPlotAxes(["<mov>", "<mov>"], elements[0]) result = mg.getPlotAxes() expected_result = [['<mov>', '<mov>'], ['<idx>'], [], ['<idx>', '<idx>'], ['<idx>', '<idx>']] self._assertMultipleResults(result, elements, expected_result) with self.assertRaises(RuntimeError): mg.setPlotAxes(["<mov>"], elements[2]) with self.assertRaises(ValueError): mg.setPlotAxes(["<mov>", "<idx>"], elements[1]) with self.assertRaises(ValueError): mg.setPlotAxes(["<mov>"], elements[0]) elements = ["_test_ct_1_1", "_test_ct_1_2", "_test_ct_1_3"] # Set values using the controller instead of channels with self.assertRaises(Exception): mg.setPlotAxes(["<mov>"], "_test_ct_ctrl_1") # TODO get method by controller doesn't give the order # Get values by controller result = mg.getPlotAxes("_test_ct_ctrl_1") expected_result = [['<mov>', '<mov>'], ['<idx>'], []] self._assertMultipleResults(result, elements, expected_result) # Check ret_full_name v = TangoDeviceNameValidator() full_names = [v.getNames(element)[0] for element in elements] result = mg.getPlotAxes(*full_names) expected_result = [['<mov>', '<mov>'], ['<idx>'], []] self._assertMultipleResults(result, elements, expected_result) mg.setPlotAxes(["<idx>", "<idx>"], full_names[0]) mg.setPlotAxes(["<mov>"], full_names[1]) result = mg.getPlotAxes(*elements, ret_full_name=True) expected_result = [['<idx>', '<idx>'], ['<mov>'], []] self._assertMultipleResults(result, full_names, expected_result) finally: mg.cleanUp() self.pool.DeleteElement(mg_name)
def test_PlotType(self, elements=[ "_test_ct_1_1", "_test_ct_1_2", "_test_ct_1_3", "_test_2d_1_3", "_test_mt_1_3/position" ]): mg_name = str(uuid.uuid1()) argin = [mg_name] + elements self.pool.CreateMeasurementGroup(argin) try: mg = Device(mg_name) plottype = mg.getPlotType() self._assertResult(plottype, elements, 0) mg.setPlotType("Image", elements[0]) mg.setPlotType("Spectrum", elements[1]) mg.setPlotType("No", elements[2]) mg.setPlotType("Image", elements[3]) mg.setPlotType("Image", elements[4]) plottype = mg.getPlotType() expected_values = [2, 1, 0, 2, 2] self._assertMultipleResults(plottype, elements, expected_values) with self.assertRaises(ValueError): mg.setPlotType("asdf", elements[2]) # Redefine elements elements = ["_test_ct_1_1", "_test_ct_1_2", "_test_ct_1_3"] # Set values using the controller instead of channels mg.setPlotType("Image", "_test_ct_ctrl_1") plottype = mg.getPlotType(*elements) self._assertResult(plottype, elements, 2) # Get values by controller mg.setPlotType("Spectrum", *elements) plottype = mg.getPlotType("_test_ct_ctrl_1") self._assertResult(plottype, elements, 1) # Check ret_full_name v = TangoDeviceNameValidator() full_names = [v.getNames(element)[0] for element in elements] plottype = mg.getPlotType(*full_names) self._assertResult(plottype, elements, 1) mg.setPlotType("Image", *full_names) plottype = mg.getPlotType(*elements, ret_full_name=True) self._assertResult(plottype, full_names, 2) finally: mg.cleanUp() self.pool.DeleteElement(mg_name)