def test_describe(bool_enum_signal): sig = bool_enum_signal sig.put(1) desc = sig.describe()['bool_enum'] assert desc['dtype'] == 'integer' assert desc['shape'] == [] # assert 'precision' in desc assert desc['enum_strs'] == ('Off', 'On') assert 'upper_ctrl_limit' in desc assert 'lower_ctrl_limit' in desc sig = Signal(name='my_pv') sig.put('Off') desc = sig.describe()['my_pv'] assert desc['dtype'] == 'string' assert desc['shape'] == [] sig.put(3.14) desc = sig.describe()['my_pv'] assert desc['dtype'] == 'number' assert desc['shape'] == [] import numpy as np sig.put(np.array([ 1, ])) desc = sig.describe()['my_pv'] assert desc['dtype'] == 'array' assert desc['shape'] == [ 1, ]
def test_describe(bool_enum_signal): sig = bool_enum_signal sig.put(1) desc = sig.describe()['bool_enum'] assert desc['dtype'] == 'integer' assert desc['shape'] == [] # assert 'precision' in desc assert desc['enum_strs'] == ('Off', 'On') assert 'upper_ctrl_limit' in desc assert 'lower_ctrl_limit' in desc sig = Signal(name='my_pv') sig.put('Off') desc = sig.describe()['my_pv'] assert desc['dtype'] == 'string' assert desc['shape'] == [] sig.put(3.14) desc = sig.describe()['my_pv'] assert desc['dtype'] == 'number' assert desc['shape'] == [] import numpy as np sig.put(np.array([1, ])) desc = sig.describe()['my_pv'] assert desc['dtype'] == 'array' assert desc['shape'] == [1, ]
def test_signal_base(): start_t = time.time() name = 'test' value = 10.0 signal = Signal(name=name, value=value, timestamp=start_t) signal.wait_for_connection() assert signal.connected assert signal.name == name assert signal.value == value assert signal.get() == value assert signal.timestamp == start_t info = dict(called=False) def _sub_test(**kwargs): info['called'] = True info['kw'] = kwargs signal.subscribe(_sub_test, run=False, event_type=signal.SUB_VALUE) assert not info['called'] signal.value = value signal.clear_sub(_sub_test) signal.subscribe(_sub_test, run=False, event_type=signal.SUB_VALUE) signal.clear_sub(_sub_test, event_type=signal.SUB_VALUE) kw = info['kw'] assert 'value' in kw assert 'timestamp' in kw assert 'old_value' in kw assert kw['value'] == value assert kw['old_value'] == value assert kw['timestamp'] == signal.timestamp # readback callback for soft signal info = dict(called=False) signal.subscribe(_sub_test, event_type=Signal.SUB_VALUE, run=False) assert not info['called'] signal.put(value + 1) assert info['called'] signal.clear_sub(_sub_test) kw = info['kw'] assert 'value' in kw assert 'timestamp' in kw assert 'old_value' in kw assert kw['value'] == value + 1 assert kw['old_value'] == value assert kw['timestamp'] == signal.timestamp signal.trigger() signal.read() signal.describe() signal.read_configuration() signal.describe_configuration() eval(repr(signal))
def test_signal_base(): start_t = time.time() name = 'test' value = 10.0 signal = Signal(name=name, value=value, timestamp=start_t) signal.wait_for_connection() assert signal.connected assert signal.name == name assert signal.value == value assert signal.get() == value assert signal.timestamp == start_t info = dict(called=False) def _sub_test(**kwargs): info['called'] = True info['kw'] = kwargs signal.subscribe(_sub_test, run=False, event_type=signal.SUB_VALUE) assert not info['called'] signal.value = value signal.clear_sub(_sub_test) signal.subscribe(_sub_test, run=False, event_type=signal.SUB_VALUE) signal.clear_sub(_sub_test, event_type=signal.SUB_VALUE) kw = info['kw'] assert 'value' in kw assert 'timestamp' in kw assert 'old_value' in kw assert kw['value'] == value assert kw['old_value'] == value assert kw['timestamp'] == signal.timestamp # readback callback for soft signal info = dict(called=False) signal.subscribe(_sub_test, event_type=Signal.SUB_VALUE, run=False) assert not info['called'] signal.put(value + 1) assert info['called'] signal.clear_sub(_sub_test) kw = info['kw'] assert 'value' in kw assert 'timestamp' in kw assert 'old_value' in kw assert kw['value'] == value + 1 assert kw['old_value'] == value assert kw['timestamp'] == signal.timestamp signal.trigger() signal.read() signal.describe() signal.read_configuration() signal.describe_configuration() eval(repr(signal))
def put(self, value, *, timestamp=None, force=False): return Signal.put(self, value, timestamp=timestamp, force=force)
def test_signal_base(self): start_t = time.time() name = 'test' value = 10.0 signal = Signal(name=name, value=value, timestamp=start_t) signal.wait_for_connection() self.assertTrue(signal.connected) self.assertEquals(signal.name, name) self.assertEquals(signal.value, value) self.assertEquals(signal.get(), value) self.assertEquals(signal.timestamp, start_t) info = dict(called=False) def _sub_test(**kwargs): info['called'] = True info['kw'] = kwargs signal.subscribe(_sub_test, run=False) self.assertFalse(info['called']) signal.value = value signal.clear_sub(_sub_test) signal.subscribe(_sub_test, run=False) signal.clear_sub(_sub_test, event_type=signal.SUB_VALUE) kw = info['kw'] self.assertIn('value', kw) self.assertIn('timestamp', kw) self.assertIn('old_value', kw) self.assertEquals(kw['value'], value) self.assertEquals(kw['old_value'], value) self.assertEquals(kw['timestamp'], signal.timestamp) # readback callback for soft signal info = dict(called=False) signal.subscribe(_sub_test, event_type=Signal.SUB_VALUE, run=False) self.assertFalse(info['called']) signal.put(value + 1) self.assertTrue(info['called']) signal.clear_sub(_sub_test) kw = info['kw'] self.assertIn('value', kw) self.assertIn('timestamp', kw) self.assertIn('old_value', kw) self.assertEquals(kw['value'], value + 1) self.assertEquals(kw['old_value'], value) self.assertEquals(kw['timestamp'], signal.timestamp) signal.trigger() signal.read() signal.describe() signal.read_configuration() signal.describe_configuration() eval(repr(signal))
def test_avg_signal(): logger.debug('test_avg_signal') sig = Signal(name='raw') avg = AvgSignal(sig, 2, name='avg') assert avg.averages == 2 sig.put(1) assert avg.get() == 1 sig.put(3) assert avg.get() == 2 sig.put(2) assert avg.get() == 2.5 avg.averages = 3 sig.put(1) assert avg.get() == 1 sig.put(3) assert avg.get() == 2 sig.put(2) assert avg.get() == 2 cb = Mock() avg.subscribe(cb) sig.put(0) assert cb.called
def test_signal_base(self): start_t = time.time() name = 'test' value = 10.0 signal = Signal(name=name, value=value, timestamp=start_t) signal.wait_for_connection() self.assertTrue(signal.connected) self.assertEquals(signal.name, name) self.assertEquals(signal.value, value) self.assertEquals(signal.get(), value) self.assertEquals(signal.timestamp, start_t) info = dict(called=False) def _sub_test(**kwargs): info['called'] = True info['kw'] = kwargs signal.subscribe(_sub_test, run=False) self.assertFalse(info['called']) signal.value = value signal.clear_sub(_sub_test) signal.subscribe(_sub_test, run=False) signal.clear_sub(_sub_test, event_type=signal.SUB_VALUE) kw = info['kw'] self.assertIn('value', kw) self.assertIn('timestamp', kw) self.assertIn('old_value', kw) self.assertEquals(kw['value'], value) self.assertEquals(kw['old_value'], value) self.assertEquals(kw['timestamp'], signal.timestamp) # readback callback for soft signal info = dict(called=False) signal.subscribe(_sub_test, event_type=Signal.SUB_VALUE, run=False) self.assertFalse(info['called']) signal.put(value + 1) self.assertTrue(info['called']) signal.clear_sub(_sub_test) kw = info['kw'] self.assertIn('value', kw) self.assertIn('timestamp', kw) self.assertIn('old_value', kw) self.assertEquals(kw['value'], value + 1) self.assertEquals(kw['old_value'], value) self.assertEquals(kw['timestamp'], signal.timestamp) signal.trigger() signal.read() signal.describe() signal.read_configuration() signal.describe_configuration() eval(repr(signal))