コード例 #1
0
    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)
コード例 #2
0
    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'])
コード例 #3
0
 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)
コード例 #4
0
ファイル: testChannelPut.py プロジェクト: epics-base/pvaPy
 def testPutDouble_Double(self):
     value = TestUtility.getRandomDouble()
     c = TestUtility.getDoubleChannel()
     c.putDouble(value)
     value2 = c.get().getPyObject()
     TestUtility.assertDoubleEquality(value, value2)
コード例 #5
0
ファイル: testChannelPut.py プロジェクト: pheest/pvaPy
 def testPutDouble_Double(self):
     value = TestUtility.getRandomDouble()
     c = TestUtility.getDoubleChannel()
     c.putDouble(value)
     value2 = c.get().getPyObject()
     TestUtility.assertDoubleEquality(value, value2)