Exemplo n.º 1
0
    def test_02(self):
        """TestAttrCompBasic.test_02(): Creation of a template object and a partial object."""
        sOut = BaseTestClasses.MockStreamWrite()
        RepCode.writeIDENT(RepCode.IDENTString(b'WEIGHT'), sOut)
        # FSINGL is code 2
        RepCode.writeUSHORT(2, sOut)
        RepCode.writeUNITS(RepCode.UNITSString('KG'), sOut)
#        print('TRACE: sOut.bytes', sOut.bytes)
        sIn = BaseTestClasses.MockStreamRead(sOut.bytes)
        myTemplate = AttrComp.AttrCompStream(int('10110', 2), sIn)
#        print(myTemplate)
        self.assertEqual(RepCode.IDENTString(b'WEIGHT'), myTemplate.lable)
        self.assertEqual(b'WEIGHT', myTemplate.lable.payload)
        # Now create object
        sOut = BaseTestClasses.MockStreamWrite()
        RepCode.writeFSINGL(356.2, sOut)
        sIn = BaseTestClasses.MockStreamRead(sOut.bytes)
        myObject = myTemplate.readAsTemplate(int('00001', 2), sIn)
#        print(myObject)
        self.assertEqual(RepCode.IDENTString(b'WEIGHT'), myObject.lable)
        self.assertEqual(b'WEIGHT', myObject.lable.payload)
        self.assertEqual(1, myObject.count)
        self.assertEqual(2, myObject.repCode)
        self.assertEqual(RepCode.UNITSString(b'KG'), myObject.units)
        self.assertEqual(b'KG', myObject.units.payload)
#        self.assertEqual(356.2, myObject.value)
        self.assertAlmostEqual(356.2, myObject.value, 2)
Exemplo n.º 2
0
    def test_01(self):
        """TestAttrCompBasic.test_01(): Simple creation of a single template object."""
        sOut = BaseTestClasses.MockStreamWrite()
        RepCode.writeIDENT(RepCode.IDENTString(b'WEIGHT'), sOut)
        # FSINGL is code 2
        RepCode.writeUSHORT(2, sOut)
        RepCode.writeUNITS(RepCode.UNITSString('KG'), sOut)
        sIn = BaseTestClasses.MockStreamRead(sOut.bytes)
        myTemplate = AttrComp.AttrCompStream(int('10110', 2), sIn)
#        print(myTemplate)
        self.assertEqual(RepCode.IDENTString(b'WEIGHT'), myTemplate.lable)
        self.assertEqual(b'WEIGHT', myTemplate.lable.payload)
        self.assertEqual(2, myTemplate.repCode)
        self.assertEqual(RepCode.UNITSString(b'KG'), myTemplate.units)
        self.assertEqual(b'KG', myTemplate.units.payload)
Exemplo n.º 3
0
class TestIDENT(TestRepCodeBase):
    """Tests the IDENT Representation Code number 19."""
    NUM = 19
    CASES = (
        (RepCode.IDENTString(b''), b'\x00'),
        (RepCode.IDENTString(b'TYPE1'), b'\x05TYPE1'),
    )

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def test_00(self):
        """Tests IDENT properties in RC_TABLE."""
        rte = RepCode.RC_TABLE[self.NUM]
        self.assertEquals(self.NUM, rte.Code)
        self.assertEquals('IDENT', rte.SymbolicName)
        self.assertEquals('Variable-length identifier', rte.Description)
        self.assertEquals('STRING', rte.Class)
        self.assertEquals('S', rte.Type)
        self.assertEquals(-1, rte.Size)

    def test_01(self):
        """Tests IDENT edge values write/read."""
        for v, b in self.CASES:
            sOut = BaseTestClasses.MockStreamWrite()
            RepCode.writeIDENT(v, sOut)
            self.assertEqual(sOut.bytes, b)
            sIn = BaseTestClasses.MockStreamRead(sOut.bytes)
            vR = RepCode.readIDENT(sIn)
            self.assertEqual(v, vR)

    def test_02(self):
        """Tests IDENT edge values write/read - indirect."""
        self._indirectTest()