示例#1
0
    def test_file(self):
        test_filename = "BitStreamTest.bin"
        writer = BitStreamWriter()
        writer.write_bits(13, 7)
        writer.write_string(test_filename)
        writer.write_varint(-123456)
        writer.to_file(test_filename)

        reader = BitStreamReader.from_file(test_filename)
        self.assertEqual(13, reader.read_bits(7))
        self.assertEqual(test_filename, reader.read_string())
        self.assertEqual(-123456, reader.read_varint())
示例#2
0
def deserialize_from_file(obj_class: typing.Type[typing.Any], filename: str,
                          *args) -> typing.Any:
    """
    Deserializes file to the generated object.

    This is a convenient method for users to easily read given generated object from file.

    :param obj_class: Class instance of the generated object to deserialize.
    :param filename: File which represents generated object in binary format.
    :param args: Additional arguments needed for obj_class.from_reader method.
    :returns: Generated object created from given file contents.
    :raises PythonRuntimeException: Throws in case of any error during deserialization.
    """

    reader = BitStreamReader.from_file(filename)

    return obj_class.from_reader(reader, *args)