def test_series_measurement_one_in_queue(self, mock_waveform_thread, log_checker): # setup handler = MeasurementHandler() print(handler._queue) handler.add_to_queue(self.lp.create_waveform(), self.settings) side_effect_array = [ np.array([[0, 2.5, 4.5, 6.5], [1, 3.5, 5.5, 7.5]]) ] with patch.object(handler, 'single_measurement', side_effect=side_effect_array) as method: # perform observed_data_list = handler.series_measurement() # assert for observed_data in observed_data_list: np.testing.assert_array_equal( observed_data, np.array([[0, 2.5, 4.5, 6.5], [1, 3.5, 5.5, 7.5]]) ) log_checker.check( ('root', 'INFO', 'Measurement #1 complete'), ('root', 'INFO', 'Total: 1 measurements performed'), )
def __init__(self, app, view1): """ :params app: a wx App object :params view1: a wx Frame object """ super(Controller, self).__init__() self.view1 = view1 self.app = app # make directory for storing data files self.app_dir = os.getcwd() data_dir = os.path.join(self.app_dir, "data_directory") if not os.path.exists(data_dir): os.makedirs(data_dir) self.data_dir = data_dir self._set_event_bindings() self.view1.Show() # app state self.uploaded = False # the hardware interface self.measurement_handler = MeasurementHandler() # settings self.preamp_settings = None self.temperature_settings = None self.wafer_settings = None # data sets self.pc_calibration_data = PCCalibrationData()
def test__run_thread(self, mock_waveform_thread): mock_waveform_thread.return_value.time = 3 mock_waveform_thread.return_value.Read_Data = np.array([]) handler = MeasurementHandler() handler.add_to_queue(self.lp.create_waveform(), self.settings)
def test_series_measurement_empty_queue(self, mock_waveform_thread, log_checker): handler = MeasurementHandler() observed_data_list = handler.series_measurement() self.assertEqual( len(observed_data_list), 0) log_checker.check( ('root', 'INFO', 'Total: 0 measurements performed'), )
def test_single_measurement_no_averaging(self, mock_waveform_thread): handler = MeasurementHandler() handler.add_to_queue(self.lp.create_waveform(), self.settings) return_tuple = (np.array([1, 2, 3, 4, 5, 6]), np.array([0, 1])) with patch.object(handler, '_run_thread', return_value=return_tuple) as method: test_dataset = handler.single_measurement() self.assertEqual(1, method.call_count) np.testing.assert_array_equal( test_dataset, np.array([[0, 1, 3, 5], [1, 2, 4, 6]]) ) self.assertEqual(len(handler._queue), 0)
def test_single_measurement_with_averaging(self, mock_waveform_thread): # setup settings = ExperimentSettings() settings.averaging = 2 handler = MeasurementHandler() return_tuple = [ (np.array([2, 3, 4, 5, 6, 7]), np.array([0, 1])), (np.array([3, 4, 5, 6, 7, 8]), np.array([0, 1])), ] handler.add_to_queue(self.lp.create_waveform(), settings) with patch.object(handler, '_run_thread', side_effect=return_tuple) as method: # perform test_dataset = handler.single_measurement() # assert self.assertEqual(2, method.call_count) np.testing.assert_array_equal( test_dataset, np.array([[0, 2.5, 4.5, 6.5], [1, 3.5, 5.5, 7.5]]) ) self.assertEqual(len(handler._queue), 0)
def test_add_to_queue(self, mock_waveform_thread): handler = MeasurementHandler() handler.add_to_queue(self.lp.create_waveform(), self.settings) self.assertEqual(len(handler._queue), 1)