def testPut_IntDouble(self): iv = TestUtility.getRandomInt() ic = TestUtility.getIntChannel() dv = TestUtility.getRandomDouble() dc = TestUtility.getDoubleChannel() mc = MultiChannel([ic.getName(), dc.getName()]) mc.put([PvInt(iv), PvDouble(dv)]) pv = mc.get() iv2 = pv['value'][0][0]['value'] assert (iv2 == iv) dv2 = pv['value'][1][0]['value'] TestUtility.assertDoubleEquality(dv, dv2)
def test_RestrictedUnionArray(self): size = TestUtility.getRandomListSize() pv = PvObject({'v': [({'i': INT, 's': STRING, 'd': DOUBLE}, )]}) unionList = [] for i in range(0, size): if i % 3 == 0: value = TestUtility.getRandomInt() unionList.append(PvObject({'i': INT}, {'i': value})) elif i % 3 == 1: value = TestUtility.getRandomString() unionList.append(PvObject({'s': STRING}, {'s': value})) else: value = TestUtility.getRandomDouble() unionList.append(PvObject({'d': DOUBLE}, {'d': value})) pv['v'] = unionList ul = pv['v'] for i in range(0, size): uli = ul[i][0] if 'i' in uli: assert (uli['i'] == unionList[i]['i']) elif 's' in uli: assert (uli['s'] == unionList[i]['s']) else: TestUtility.assertDoubleEquality(uli['d'], unionList[i]['d']) unionList.reverse() pv.setUnionArray(unionList) ul = pv['v'] for i in range(0, size): uli = ul[i][0] if 'i' in uli: assert (uli['i'] == unionList[i]['i']) elif 's' in uli: assert (uli['s'] == unionList[i]['s']) else: TestUtility.assertDoubleEquality(uli['d'], unionList[i]['d'])
def test_Double(self): value = TestUtility.getRandomDouble() pv = PvObject({'v': DOUBLE}, {'v': value}) TestUtility.assertDoubleEquality(pv['v'], value) value = TestUtility.getRandomDouble() pv['v'] = value TestUtility.assertDoubleEquality(pv['v'], value) value = TestUtility.getRandomDouble() pv.setDouble(value) TestUtility.assertDoubleEquality(pv.getDouble(), value)
def testPutDouble_Double(self): value = TestUtility.getRandomDouble() c = TestUtility.getDoubleChannel() c.putDouble(value) value2 = c.get().getPyObject() TestUtility.assertDoubleEquality(value, value2)