def test_calculate_1(self): crcProc = DivisionCRC() crc = crcProc.calculate2(0b1, 1, 0b1, 1) self.assertEqual(crc, 0b1) crc = crcProc.calculate2(0b0, 1, 0b1, 1) self.assertEqual(crc, 0b0) crc = crcProc.calculate2(0b10, 2, 0b1, 1) self.assertEqual(crc, 0b1) crc = crcProc.calculate2(0b01, 2, 0b1, 1) self.assertEqual(crc, 0b1)
def test_calculate_2(self): crcProc = DivisionCRC() crc = crcProc.calculate2(0b00, 2, 0b11, 2) self.assertEqual(crc, 0b00) crc = crcProc.calculate2(0b01, 2, 0b11, 2) self.assertEqual(crc, 0b11) crc = crcProc.calculate2(0b10, 2, 0b11, 2) self.assertEqual(crc, 0b01) crc = crcProc.calculate2(0b11, 2, 0b11, 2) self.assertEqual(crc, 0b10)
def test_calculate_2_repeated(self): data = 0xABCD crcSize = 16 dataSize = 16 inputPoly = 0x18005 ## 0x18005 = 98309 regInit = 0x0 xorOut = 0x0 reverse = True ## init: 0, xor: 0, rev, poly: 0x18005 crcFun = DivisionCRC() crcFun.setReversed(reverse) crcFun.setRegisterInitValue(regInit) crcFun.setXorOutValue(xorOut) crc = crcFun.calculate2(data, dataSize, inputPoly, crcSize) for _ in xrange(0, 10): crc2 = crcFun.calculate2(data, dataSize, inputPoly, crcSize) self.assertEqual(crc, crc2)