def deserialize(doc): numeric_id = ID.deserialize(doc[Block.SERIAL_NUMERIC_ID_KEY]) m = Block(brl_id=BRLBlock(doc[Block.SERIAL_ID_KEY]), numeric_id=numeric_id) m._cells_table = AddressTable.deserialize(doc[Block.SERIAL_CELL_TABLE], numeric_id) m._contents_table = AddressTable.deserialize(doc[Block.SERIAL_CONTENT_TABLE], numeric_id) m._deps_table = TimeBaseMapDeserializer(BlockVersionTable).deserialize(doc[Block.SERIAL_DEPS_TABLE]) m._renames = TimeBaseMapDeserializer(Renames).deserialize(doc[Block.SERIAL_RENAMES]) m._deltas = ListDeserializer(BlockDelta).deserialize(doc[Block.SERIAL_DELTAS]) m._cell_count = int(doc[Block.SERIAL_CELLS_COUNTER]) m._content_count = int(doc[Block.SERIAL_CONTENT_COUNTER]) return m
def test_address_table(self): a = AddressTable(ID((1, 3))) a.create(CellName('f2.h'), ID((1, 3, 18)), 2) s = serialize(a) #print "S: " + str(s) b = AddressTable.deserialize(s, ID((1, 3))) #print "B: " + str(b) self.assertEqual(a, b)
def test_address_table(self): a = AddressTable(ID((1, 3))) a.create(CellName("f2.h"), ID((1, 3, 18)), 2) s = serialize(a) # print "S: " + str(s) b = AddressTable.deserialize(s, ID((1, 3))) # print "B: " + str(b) self.assertEqual(a, b)
def deserialize(doc): numeric_id = ID.deserialize(doc[Block.SERIAL_NUMERIC_ID_KEY]) m = Block(brl_id=BRLBlock(doc[Block.SERIAL_ID_KEY]), numeric_id=numeric_id) m._cells_table = AddressTable.deserialize(doc[Block.SERIAL_CELL_TABLE], numeric_id) m._contents_table = AddressTable.deserialize( doc[Block.SERIAL_CONTENT_TABLE], numeric_id) m._deps_table = TimeBaseMapDeserializer(BlockVersionTable).deserialize( doc[Block.SERIAL_DEPS_TABLE]) m._renames = TimeBaseMapDeserializer(Renames).deserialize( doc[Block.SERIAL_RENAMES]) m._deltas = ListDeserializer(BlockDelta).deserialize( doc[Block.SERIAL_DELTAS]) m._cell_count = int(doc[Block.SERIAL_CELLS_COUNTER]) m._content_count = int(doc[Block.SERIAL_CONTENT_COUNTER]) return m