def test_check_sequence(self): record1 = BinaryRecord(0, None, b'abc') record2 = BinaryRecord(3, None, b'def') records = [record1, record2] BinaryRecord.check_sequence(records) record2.address = 1 record2.update_checksum() with pytest.raises(ValueError): BinaryRecord.check_sequence(records) record1.address = 3 record2.address = 0 record1.update_checksum() record2.update_checksum() with pytest.raises(ValueError): BinaryRecord.check_sequence(records)
def test_update_checksum(self): record = BinaryRecord(0, None, b'Hello, World!') record.checksum = None record.update_checksum() assert str(record) == '48656C6C6F2C20576F726C6421' assert hex(record.checksum or -1) == '0x69' record = MotorolaRecord(0, MotorolaTag.DATA_16, b'Hello, World!') record.checksum = None record.update_checksum() assert str(record) == 'S110000048656C6C6F2C20576F726C642186' assert hex(record.checksum or -1) == '0x86' record = IntelRecord(0, IntelTag.DATA, b'Hello, World!') record.checksum = None record.update_checksum() assert str(record) == ':0D00000048656C6C6F2C20576F726C64218A' assert hex(record.checksum or -1) == '0x8a'