def test_protocol4(self): objects = parser.parseFile("tp/netlib/protocol.xml") packet = objects.Okay(0, "\x01") self.assertEquals(packet.xstruct, "4sIIIS") self.assertEquals(packet._length, 5) self.assertEquals(packet.pack(), 'TP' '\x04' '\x00' '\x00\x00\x00\x00' '\x00\x00\x00\x00' '\x00\x00\x00\x05' '\x00\x00\x00\x01' '\x01') packet = objects.Fail(0, "Frame", "Error!", []) self.assertEquals(packet.xstruct, "4sIIIIS[iI]") packet = objects.GetObjectIDsByPos(0, (0, 0, 0), 0) self.assertEquals(packet.xstruct, "4sIIIqqqQ") packet = objects.Object(0, 0, 0, '', '', 0, [], 0, '\x00'*16) packet = objects.ObjectDesc(0, 0, '', '', 0, []) packet = objects.ObjectDesc(0, 0, '', '', 0, [[0, '', '', [] ]] ) packet = objects.ObjectDesc(0, 0, '', '', 0, [[0, '', '', [['Parameter', 0, 'Description', [] ]] ]] ) packet = packet.build()(0, 0, 0, '', '', 0, [], 0, '\x00'*16, [[0, 0, 0], 0]) self.assertEquals(packet.Parameter.position, [0,0,0]) self.assertEquals(packet.Parameter.relative, 0) del packet.Parameter packet = objects.ObjectDesc(0, 0, '', '', 0, [[0, '', '', [['Parameter1', 0, 'Description', [] ], ['Parameter2', 4, 'Description', [0] ]] ]] )
class TestParser(unittest.TestCase): data = "\x54\x50\x30\x33\x00\x00\x00\x03\x00\x00\x00\x1a\x00\x00\x00\x10\x00\x00\x00\x03\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x03\xe8" objects = parser.parseFile("tp/netlib/protocol3.xml") packet = objects.Features() packet.unpack(data) print packet print packet._length
def __init__( self, filename ): packets = parser.parseFile( filename ) self.__byId = {} self.__byName = {} for name, cls in inspect.getmembers( packets, inspect.isclass ): if hasattr( cls, '_id' ): self.__byId[ cls._id ] = cls self.__byName[ name ] = cls self.__version = packets.version
def test_protocol3(self): objects = parser.parseFile("tp/netlib/protocol3.xml") packet = objects.Okay(0, "\x01") self.assertEquals(packet.xstruct, "4sIIIS") self.assertEquals(packet._length, 5) self.assertEquals(packet.pack(), 'TP03' '\x00\x00\x00\x00' '\x00\x00\x00\x00' '\x00\x00\x00\x05' '\x00\x00\x00\x01' '\x01') packet = objects.Fail(0, "Frame", "Error!", []) self.assertEquals(packet.xstruct, "4sIIIIS") packet = objects.GetObjectIDsByPos(0, (0, 0, 0), 0) self.assertEquals(packet.xstruct, "4sIIIqqqQ")
def test_protocol3(self): objects = parser.parseFile("tp/netlib/protocol3.xml") packet = objects.Okay(0, "\x01") self.assertEquals(packet.xstruct, "4sIIIS") self.assertEquals(packet._length, 5) self.assertEquals( packet.pack(), 'TP03' '\x00\x00\x00\x00' '\x00\x00\x00\x00' '\x00\x00\x00\x05' '\x00\x00\x00\x01' '\x01') packet = objects.Fail(0, "Frame", "Error!", []) self.assertEquals(packet.xstruct, "4sIIIIS") packet = objects.GetObjectIDsByPos(0, (0, 0, 0), 0) self.assertEquals(packet.xstruct, "4sIIIqqqQ")
def test_protocol4(self): objects = parser.parseFile("tp/netlib/protocol.xml") packet = objects.Okay(0, "\x01") self.assertEquals(packet.xstruct, "4sIIIS") self.assertEquals(packet._length, 5) self.assertEquals( packet.pack(), 'TP' '\x04' '\x00' '\x00\x00\x00\x00' '\x00\x00\x00\x00' '\x00\x00\x00\x05' '\x00\x00\x00\x01' '\x01') packet = objects.Fail(0, "Frame", "Error!", []) self.assertEquals(packet.xstruct, "4sIIIIS[iI]") packet = objects.GetObjectIDsByPos(0, (0, 0, 0), 0) self.assertEquals(packet.xstruct, "4sIIIqqqQ") packet = objects.Object(0, 0, 0, '', '', 0, [], 0, '\x00' * 16) packet = objects.ObjectDesc(0, 0, '', '', 0, []) packet = objects.ObjectDesc(0, 0, '', '', 0, [[0, '', '', []]]) packet = objects.ObjectDesc( 0, 0, '', '', 0, [[0, '', '', [['Parameter', 0, 'Description', []]]]]) packet = packet.build()(0, 0, 0, '', '', 0, [], 0, '\x00' * 16, [[0, 0, 0], 0]) self.assertEquals(packet.Parameter.position, [0, 0, 0]) self.assertEquals(packet.Parameter.relative, 0) del packet.Parameter packet = objects.ObjectDesc(0, 0, '', '', 0, [[ 0, '', '', [['Parameter1', 0, 'Description', []], ['Parameter2', 4, 'Description', [0]]] ]])