def test_compute_size_does_not_mirror(self): """Verify the eeproms internal _compute_size method returns the correct bool value when it detects no mirroring. """ eeprom = FtdiEeprom() eeprom.open(self.url, ignore=True) _, mirrored = eeprom._compute_size([]) self.assertFalse(mirrored) eeprom.close() eeprom = FtdiEeprom() eeprom.open(self.url, ignore=False) _, mirrored = eeprom._compute_size([]) self.assertFalse(mirrored) eeprom.close()
def test_compute_size_detects_mirror(self): """Verify the eeproms internal _compute_size method returns the correct bool value when it detects an eeprom mirror """ eeprom = FtdiEeprom() eeprom.open(self.url, ignore=True) _, mirrored = eeprom._compute_size([]) self.assertFalse(mirrored) test_buf = bytearray(eeprom.size) sector_mid = eeprom.size // 2 for ii in range(sector_mid): test_buf[ii] = ii % 255 test_buf[sector_mid+ii] = test_buf[ii] _, mirrored = eeprom._compute_size(bytes(test_buf)) self.assertTrue(mirrored) # change one byte and confirm failure test_buf[eeprom.size - 2] = test_buf[eeprom.size - 2] - 1 _, mirrored = eeprom._compute_size(bytes(test_buf)) self.assertFalse(mirrored)