Ejemplo n.º 1
0
class TestSLIPMsgParser:
    def setup_method(self, method):
        # Create SLIPMsgParser instance
        self.msgParser = MsgParser({'parseMsgMax': 10}, SLIPMsg(256))

    def test_parseSerialMsg(self):
        """Test parseSerialMessage method of SLIPMsgParser."""
        # Check rejection of message with invalid CRC
        self.msgParser.parseSerialMsg(truthSLIPMsg, 0)
        assert (self.msgParser.msg.msgFound == True)  # slip msg found
        assert (self.msgParser.msg.msgEnd != 1)  # message end found
        assert (self.msgParser.parsedMsgs == [])  # message rejected

        # Check acceptance of message with valid CRC
        crc = self.msgParser.msg.crc(testMsg)
        slipMsg = SLIPMsg(256)
        slipMsg.encodeMsg(testMsg)
        self.msgParser.parseSerialMsg(slipMsg.encoded, 0)
        assert (self.msgParser.msg.msgFound == True)  # slip msg found
        assert (self.msgParser.msg.msgEnd != 1)  # message end found
        assert (self.msgParser.parsedMsgs[0] == testMsg)  # message accepted

        # Check that proper message end position is returned
        self.msgParser.parsedMsgs = []
        paddedMsg = slipMsg.encoded + b'989898'
        msgEnd = self.msgParser.parseSerialMsg(paddedMsg, 0)
        assert (self.msgParser.parsedMsgs[0] == testMsg)
        assert (msgEnd == len(slipMsg.encoded) - 1)

    def test_encodeMsg(self):
        """Test encodeMsg method of SLIPMsgParser."""
        slipMsg = SLIPMsg(256)
        slipMsg.encodeMsg(testMsg)
        encodedMsg = self.msgParser.encodeMsg(testMsg)
        assert (encodedMsg == slipMsg.encoded)
Ejemplo n.º 2
0
class TestMsgParser:
    def setup_method(self, method):
        # Create SerialMsgParser instance
        self.msgParser = MsgParser({'parseMsgMax': 10})

    def test_parseSerialMsg(self):
        """Test parseSerialMsg method of MsgParser."""
        msg = b'12345'
        msgStart = 1
        self.msgParser.parseSerialMsg(msg, msgStart)
        assert (len(self.msgParser.parsedMsgs) == 1)
        assert (self.msgParser.parsedMsgs[0] == msg[msgStart:])

    def test_encodeMsg(self):
        """Test encode passthrough of message."""
        msg = b'12345'
        assert (self.msgParser.encodeMsg(msg) == msg)

    def test_parseMsgs(self):
        """Test parseMsgs method of MsgParser."""
        msg = b'12345'
        msg = b'12345'
        msg2 = b'6789'
        self.msgParser.parseMsgs(msg)
        self.msgParser.parseMsgs(msg2)
        assert (len(self.msgParser.parsedMsgs) == 2)
        assert (self.msgParser.parsedMsgs[0] == msg)
        assert (self.msgParser.parsedMsgs[1] == msg2)