コード例 #1
0
    def test_VariantUnion(self):
        value = TestUtility.getRandomInt()
        pv = PvObject({'v': ()}, {'v': PvInt(value)})
        u = pv['v'][0]
        assert (u['value'] == value)

        value = TestUtility.getRandomString()
        pv['v'] = PvString(value)
        u = pv['v'][0]
        assert (u['value'] == value)

        value = TestUtility.getRandomFloat()
        pv.setUnion(PvFloat(value))
        u = pv['v'][0]
        TestUtility.assertFloatEquality(u['value'], value)
コード例 #2
0
    def test_RestrictedUnion(self):
        value = TestUtility.getRandomInt()
        unionPv = PvObject({'i': INT}, {'i': value})
        pv = PvObject({'v': ({
            'i': INT,
            'f': FLOAT,
            's': STRING
        }, )}, {'v': unionPv})
        u = pv['v'][0]
        assert (u['i'] == value)

        value = TestUtility.getRandomString()
        unionPv = PvObject({'s': STRING}, {'s': value})
        pv['v'] = unionPv
        u = pv['v'][0]
        assert (u['s'] == value)

        value = TestUtility.getRandomFloat()
        unionPv = PvObject({'f': FLOAT}, {'f': value})
        pv.setUnion(unionPv)
        u = pv['v'][0]
        TestUtility.assertFloatEquality(u['f'], value)