Example #1
0
    def serialize(self, field_bytes):
        assert len(self.relocation_rules) == 0, \
            'Cannot serialize a MemoryDict with active segment relocation rules.'

        return b''.join(
            RelocatableValue.to_bytes(addr, ADDR_SIZE_IN_BYTES, 'little') +
            RelocatableValue.to_bytes(value, field_bytes, 'little')
            for addr, value in self.items())
Example #2
0
def test_relocatable_value_serialization(byte_order, n_bytes):
    for num in [19, RelocatableValue(2, 5)]:
        assert RelocatableValue.from_bytes(
            RelocatableValue.to_bytes(num, n_bytes, byte_order),
            byte_order) == num
Example #3
0
 def serialize(self, field_bytes):
     return b''.join(
         RelocatableValue.to_bytes(addr, ADDR_SIZE_IN_BYTES, 'little') +
         RelocatableValue.to_bytes(value, field_bytes, 'little')
         for addr, value in self.items())