def testmergefrom(self): message = unittest_pb2.testalltypes() message.optional_int32 = 1 message.optional_uint32 = 2 source = unittest_pb2.testemptymessage() source.parsefromstring(message.serializetostring()) message.clearfield('optional_int32') message.optional_int64 = 3 message.optional_uint32 = 4 destination = unittest_pb2.testemptymessage() destination.parsefromstring(message.serializetostring()) unknown_fields = destination._unknown_fields[:] destination.mergefrom(source) self.assertequal(unknown_fields + source._unknown_fields, destination._unknown_fields)
def setup(self): self.descriptor = unittest_pb2.testalltypes.descriptor self.all_fields = unittest_pb2.testalltypes() test_util.setallfields(self.all_fields) self.all_fields_data = self.all_fields.serializetostring() self.empty_message = unittest_pb2.testemptymessage() self.empty_message.parsefromstring(self.all_fields_data) self.unknown_fields = self.empty_message._unknown_fields
def testequals(self): message = unittest_pb2.testemptymessage() message.parsefromstring(self.all_fields_data) self.assertequal(self.empty_message, message) self.all_fields.clearfield('optional_string') message.parsefromstring(self.all_fields.serializetostring()) self.assertnotequal(self.empty_message, message)
def testcopyfrom(self): message = unittest_pb2.testemptymessage() message.copyfrom(self.empty_message) self.assertequal(self.unknown_fields, message._unknown_fields)