def composeRow(self, address, length, row): addressChecksum = checksums.rotatedXOR(utils.makeList(utils.intToArray(address), length), 8, checksums.ROTATE_LEFT) dataChecksum = checksums.rotatedXOR(row, 8, checksums.ROTATE_LEFT) line = ":{0:04X}{1:02X}{2:02X}{3}{4:02X}".format(address, length, addressChecksum, Writer.hexBytes(row), dataChecksum) self.lastAddress = address + length return line
def testRXORCase6(self): self.assertEqual(rotatedXOR(range(100), 16, ROTATE_LEFT), 66)
def testRXORCase12(): assert rotatedXOR(range(100), 32, ROTATE_RIGHT) == 3
def testRXORCase1(): assert rotatedXOR(range(10), 8, ROTATE_LEFT) == 74
def testRXORCase8(): assert rotatedXOR(range(100), 16, ROTATE_RIGHT) == 3
def testRXORCase10(): assert rotatedXOR(range(100), 32, ROTATE_LEFT) == 66
def testRXORCase6(): assert rotatedXOR(range(100), 16, ROTATE_LEFT) == 66
def testRXORCase3(): assert rotatedXOR(range(10), 8, ROTATE_RIGHT) == 186
def testRXORCase4(self): self.assertEqual(rotatedXOR(range(100), 8, ROTATE_RIGHT), 3)
def testRXORCase1(self): self.assertEqual(rotatedXOR(range(10), 8, ROTATE_LEFT), 74)
def testRXORCase11(self): self.assertEqual(rotatedXOR(range(10), 32, ROTATE_RIGHT), 186)