def testReadWriteDataPackV5(self): expected_data = ( '\x05\x00\x00\x00' # version '\x01\x00\x00\x00' # encoding & padding '\x03\x00' # resource_count '\x01\x00' # alias_count '\x01\x00\x28\x00\x00\x00' # index entry 1 '\x04\x00\x28\x00\x00\x00' # index entry 4 '\x06\x00\x34\x00\x00\x00' # index entry 6 '\x00\x00\x40\x00\x00\x00' # extra entry for the size of last '\x0a\x00\x01\x00' # alias table 'this is id 4this is id 6') # data input_resources = { 1: '', 4: 'this is id 4', 6: 'this is id 6', 10: 'this is id 4', } data = data_pack.WriteDataPackToString(input_resources, data_pack.UTF8) self.assertEquals(data, expected_data) expected_data_pack = data_pack.DataPackContents( { 1: '', 4: input_resources[4], 6: input_resources[6], 10: input_resources[4], }, data_pack.UTF8, 5, {10: 4}, data_pack.DataPackSizes(12, 24, 4, 24)) loaded = data_pack.ReadDataPackFromString(expected_data) self.assertDictEqual(expected_data_pack.__dict__, loaded.__dict__)
def testReadDataPackV4(self): expected_data = ( '\x04\x00\x00\x00' # header(version '\x04\x00\x00\x00' # no. entries, '\x01' # encoding) '\x01\x00\x27\x00\x00\x00' # index entry 1 '\x04\x00\x27\x00\x00\x00' # index entry 4 '\x06\x00\x33\x00\x00\x00' # index entry 6 '\x0a\x00\x3f\x00\x00\x00' # index entry 10 '\x00\x00\x3f\x00\x00\x00' # extra entry for the size of last 'this is id 4this is id 6') # data expected_data_pack = data_pack.DataPackContents( { 1: '', 4: 'this is id 4', 6: 'this is id 6', 10: '', }, data_pack.UTF8, 4, {}, data_pack.DataPackSizes(9, 30, 0, 24)) loaded = data_pack.ReadDataPackFromString(expected_data) self.assertDictEqual(expected_data_pack.__dict__, loaded.__dict__)