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())
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)