def _process(self, sequence, producer): for operands in sequence: for name, value in operands: if not value: yield (("data", bytearray()), ) else: packets, self._slipbuffer = \ slip.decode(value, self._slipbuffer) for packet in packets: yield (("data", packet), )
def test_SingleEncodeDecode(self): device = bytearray() device.extend(slip.encode(self.createMessage())) rest = slip.encode(self.createMessage()) rest = rest[:10] device.extend(rest) rest = rest[1:] # remove first END decoded, stillencoded = slip.decode(device) self.assertEqual(len(decoded), 1) self.assertEqual(decoded[0], self.createMessage()) self.assertEqual(stillencoded, rest)
def test_MultipleEncodeDecode(self): device = bytearray() device.extend(slip.encode(self.createMessage())) device.extend(slip.encode(self.createMessage())) device.extend(slip.encode(self.createMessage())) rest = slip.encode(self.createMessage()) rest = rest[:10] device.extend(rest) rest = rest[1:] # remove first END decoded, stillencoded = slip.decode(device) self.assertEqual(len(decoded), 3) for msg in decoded: self.assertEqual(msg, self.createMessage()) self.assertEqual(stillencoded, rest)