示例#1
0
def test_array_elements_round_trip(element, array):
    generator = bitpacking.pack_array_element(element, array)
    b = bitpacking._pack_encode_results(list(generator))
    decoder = bitpacking.BitPackDecoder(b)

    decoded_element = decoder.decode_element(array)

    assert element == decoded_element
示例#2
0
def test_sorted_array_elements_round_trip(elements, array):
    generator = bitpacking.pack_sorted_array_elements(elements, array)
    b = bitpacking._pack_encode_results(list(generator))
    decoder = bitpacking.BitPackDecoder(b)

    decoded_elements = bitpacking.decode_sorted_array_elements(decoder, array)

    assert elements == decoded_elements
示例#3
0
def test_encode_int_with_limits_round_trip(value: int,
                                           limits: Tuple[int, ...],
                                           ):
    # Run
    data = bitpacking._pack_encode_results(list(bitpacking.encode_int_with_limits(value, limits)))
    decoded = bitpacking.decode_int_with_limits(bitpacking.BitPackDecoder(data), limits)

    # Assert
    assert decoded == value
示例#4
0
 def _decode_pickup(self, data: bytes) -> PickupEntry:
     decoder = bitpacking.BitPackDecoder(data)
     return BitPackPickupEntry.bit_pack_unpack(decoder,
                                               self._game.resource_database)
示例#5
0
def _decode_pickup(d: str, resource_database):
    decoder = bitpacking.BitPackDecoder(base64.b85decode(d))
    return BitPackPickupEntry.bit_pack_unpack(decoder, resource_database)
示例#6
0
def _decode_pickup(data: bytes,
                   resource_database: ResourceDatabase) -> PickupEntry:
    decoder = bitpacking.BitPackDecoder(data)
    return BitPackPickupEntry.bit_pack_unpack(decoder, resource_database)