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(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))