1fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# Protocol Buffers - Google's data interchange format 2fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# Copyright 2008 Google Inc. All rights reserved. 3fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# http://code.google.com/p/protobuf/ 4fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# 5fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# Redistribution and use in source and binary forms, with or without 6fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# modification, are permitted provided that the following conditions are 7fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# met: 8fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# 9fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# * Redistributions of source code must retain the above copyright 10fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# notice, this list of conditions and the following disclaimer. 11fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# * Redistributions in binary form must reproduce the above 12fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# copyright notice, this list of conditions and the following disclaimer 13fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# in the documentation and/or other materials provided with the 14fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# distribution. 15fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# * Neither the name of Google Inc. nor the names of its 16fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# contributors may be used to endorse or promote products derived from 17fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# this software without specific prior written permission. 18fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# 19fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 31fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville"""Utilities for Python proto2 tests. 32fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 33fbaaef999ba563838ebd00874ed8a1c01fbf286dWink SavilleThis is intentionally modeled on C++ code in 34d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville//google/protobuf/test_util.*. 35fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville""" 36fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 37fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville__author__ = 'robinson@google.com (Will Robinson)' 38fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 39fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savilleimport os.path 40fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 41fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillefrom google.protobuf import unittest_import_pb2 42fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillefrom google.protobuf import unittest_pb2 43fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 44fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 45fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savilledef SetAllFields(message): 46fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville """Sets every field in the message to a unique value. 47fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 48fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville Args: 49fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message: A unittest_pb2.TestAllTypes instance. 50fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville """ 51fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 52fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # 53fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # Optional fields. 54fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # 55fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 56fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optional_int32 = 101 57fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optional_int64 = 102 58fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optional_uint32 = 103 59fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optional_uint64 = 104 60fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optional_sint32 = 105 61fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optional_sint64 = 106 62fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optional_fixed32 = 107 63fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optional_fixed64 = 108 64fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optional_sfixed32 = 109 65fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optional_sfixed64 = 110 66fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optional_float = 111 67fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optional_double = 112 68fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optional_bool = True 69fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # TODO(robinson): Firmly spec out and test how 70fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # protos interact with unicode. One specific example: 71fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # what happens if we change the literal below to 72fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # u'115'? What *should* happen? Still some discussion 73fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # to finish with Kenton about bytes vs. strings 74fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # and forcing everything to be utf8. :-/ 75fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optional_string = '115' 76fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optional_bytes = '116' 77fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 78fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optionalgroup.a = 117 79fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optional_nested_message.bb = 118 80fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optional_foreign_message.c = 119 81fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optional_import_message.d = 120 82fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 83fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optional_nested_enum = unittest_pb2.TestAllTypes.BAZ 84fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optional_foreign_enum = unittest_pb2.FOREIGN_BAZ 85fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optional_import_enum = unittest_import_pb2.IMPORT_BAZ 86fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 87fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optional_string_piece = '124' 88fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.optional_cord = '125' 89fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 90fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # 91fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # Repeated fields. 92fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # 93fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 94fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_int32.append(201) 95fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_int64.append(202) 96fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_uint32.append(203) 97fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_uint64.append(204) 98fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_sint32.append(205) 99fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_sint64.append(206) 100fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_fixed32.append(207) 101fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_fixed64.append(208) 102fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_sfixed32.append(209) 103fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_sfixed64.append(210) 104fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_float.append(211) 105fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_double.append(212) 106fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_bool.append(True) 107fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_string.append('215') 108fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_bytes.append('216') 109fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 110fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeatedgroup.add().a = 217 111fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_nested_message.add().bb = 218 112fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_foreign_message.add().c = 219 113fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_import_message.add().d = 220 114fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 115fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_nested_enum.append(unittest_pb2.TestAllTypes.BAR) 116fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_foreign_enum.append(unittest_pb2.FOREIGN_BAR) 117fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_import_enum.append(unittest_import_pb2.IMPORT_BAR) 118fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 119fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_string_piece.append('224') 120fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_cord.append('225') 121fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 122fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # Add a second one of each field. 123fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_int32.append(301) 124fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_int64.append(302) 125fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_uint32.append(303) 126fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_uint64.append(304) 127fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_sint32.append(305) 128fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_sint64.append(306) 129fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_fixed32.append(307) 130fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_fixed64.append(308) 131fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_sfixed32.append(309) 132fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_sfixed64.append(310) 133fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_float.append(311) 134fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_double.append(312) 135fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_bool.append(False) 136fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_string.append('315') 137fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_bytes.append('316') 138fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 139fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeatedgroup.add().a = 317 140fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_nested_message.add().bb = 318 141fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_foreign_message.add().c = 319 142fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_import_message.add().d = 320 143fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 144fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_nested_enum.append(unittest_pb2.TestAllTypes.BAZ) 145fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_foreign_enum.append(unittest_pb2.FOREIGN_BAZ) 146fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_import_enum.append(unittest_import_pb2.IMPORT_BAZ) 147fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 148fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_string_piece.append('324') 149fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.repeated_cord.append('325') 150fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 151fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # 152fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # Fields that have defaults. 153fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # 154fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 155fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.default_int32 = 401 156fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.default_int64 = 402 157fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.default_uint32 = 403 158fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.default_uint64 = 404 159fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.default_sint32 = 405 160fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.default_sint64 = 406 161fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.default_fixed32 = 407 162fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.default_fixed64 = 408 163fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.default_sfixed32 = 409 164fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.default_sfixed64 = 410 165fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.default_float = 411 166fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.default_double = 412 167fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.default_bool = False 168fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.default_string = '415' 169fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.default_bytes = '416' 170fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 171fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.default_nested_enum = unittest_pb2.TestAllTypes.FOO 172fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.default_foreign_enum = unittest_pb2.FOREIGN_FOO 173fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.default_import_enum = unittest_import_pb2.IMPORT_FOO 174fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 175fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.default_string_piece = '424' 176fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.default_cord = '425' 177fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 178fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 179fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savilledef SetAllExtensions(message): 180fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville """Sets every extension in the message to a unique value. 181fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 182fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville Args: 183fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message: A unittest_pb2.TestAllExtensions instance. 184fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville """ 185fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 186fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions = message.Extensions 187fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville pb2 = unittest_pb2 188fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville import_pb2 = unittest_import_pb2 189fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 190fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # 191fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # Optional fields. 192fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # 193fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 194fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_int32_extension] = 101 195fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_int64_extension] = 102 196fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_uint32_extension] = 103 197fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_uint64_extension] = 104 198fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_sint32_extension] = 105 199fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_sint64_extension] = 106 200fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_fixed32_extension] = 107 201fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_fixed64_extension] = 108 202fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_sfixed32_extension] = 109 203fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_sfixed64_extension] = 110 204fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_float_extension] = 111 205fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_double_extension] = 112 206fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_bool_extension] = True 207fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_string_extension] = '115' 208fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_bytes_extension] = '116' 209fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 210fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optionalgroup_extension].a = 117 211fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_nested_message_extension].bb = 118 212fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_foreign_message_extension].c = 119 213fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_import_message_extension].d = 120 214fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 215fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_nested_enum_extension] = pb2.TestAllTypes.BAZ 216fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_nested_enum_extension] = pb2.TestAllTypes.BAZ 217fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_foreign_enum_extension] = pb2.FOREIGN_BAZ 218fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_import_enum_extension] = import_pb2.IMPORT_BAZ 219fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 220fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_string_piece_extension] = '124' 221fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.optional_cord_extension] = '125' 222fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 223fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # 224fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # Repeated fields. 225fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # 226fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 227fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_int32_extension].append(201) 228fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_int64_extension].append(202) 229fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_uint32_extension].append(203) 230fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_uint64_extension].append(204) 231fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_sint32_extension].append(205) 232fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_sint64_extension].append(206) 233fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_fixed32_extension].append(207) 234fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_fixed64_extension].append(208) 235fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_sfixed32_extension].append(209) 236fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_sfixed64_extension].append(210) 237fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_float_extension].append(211) 238fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_double_extension].append(212) 239fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_bool_extension].append(True) 240fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_string_extension].append('215') 241fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_bytes_extension].append('216') 242fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 243fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeatedgroup_extension].add().a = 217 244fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_nested_message_extension].add().bb = 218 245fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_foreign_message_extension].add().c = 219 246fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_import_message_extension].add().d = 220 247fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 248fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_nested_enum_extension].append(pb2.TestAllTypes.BAR) 249fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_foreign_enum_extension].append(pb2.FOREIGN_BAR) 250fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_import_enum_extension].append(import_pb2.IMPORT_BAR) 251fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 252fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_string_piece_extension].append('224') 253fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_cord_extension].append('225') 254fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 255fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # Append a second one of each field. 256fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_int32_extension].append(301) 257fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_int64_extension].append(302) 258fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_uint32_extension].append(303) 259fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_uint64_extension].append(304) 260fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_sint32_extension].append(305) 261fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_sint64_extension].append(306) 262fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_fixed32_extension].append(307) 263fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_fixed64_extension].append(308) 264fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_sfixed32_extension].append(309) 265fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_sfixed64_extension].append(310) 266fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_float_extension].append(311) 267fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_double_extension].append(312) 268fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_bool_extension].append(False) 269fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_string_extension].append('315') 270fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_bytes_extension].append('316') 271fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 272fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeatedgroup_extension].add().a = 317 273fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_nested_message_extension].add().bb = 318 274fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_foreign_message_extension].add().c = 319 275fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_import_message_extension].add().d = 320 276fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 277fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_nested_enum_extension].append(pb2.TestAllTypes.BAZ) 278fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_foreign_enum_extension].append(pb2.FOREIGN_BAZ) 279fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_import_enum_extension].append(import_pb2.IMPORT_BAZ) 280fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 281fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_string_piece_extension].append('324') 282fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.repeated_cord_extension].append('325') 283fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 284fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # 285fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # Fields with defaults. 286fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # 287fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 288fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.default_int32_extension] = 401 289fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.default_int64_extension] = 402 290fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.default_uint32_extension] = 403 291fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.default_uint64_extension] = 404 292fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.default_sint32_extension] = 405 293fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.default_sint64_extension] = 406 294fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.default_fixed32_extension] = 407 295fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.default_fixed64_extension] = 408 296fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.default_sfixed32_extension] = 409 297fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.default_sfixed64_extension] = 410 298fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.default_float_extension] = 411 299fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.default_double_extension] = 412 300fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.default_bool_extension] = False 301fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.default_string_extension] = '415' 302fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.default_bytes_extension] = '416' 303fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 304fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.default_nested_enum_extension] = pb2.TestAllTypes.FOO 305fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.default_foreign_enum_extension] = pb2.FOREIGN_FOO 306fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.default_import_enum_extension] = import_pb2.IMPORT_FOO 307fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 308fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.default_string_piece_extension] = '424' 309fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions[pb2.default_cord_extension] = '425' 310fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 311fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 312fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savilledef SetAllFieldsAndExtensions(message): 313fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville """Sets every field and extension in the message to a unique value. 314fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 315fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville Args: 316fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message: A unittest_pb2.TestAllExtensions message. 317fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville """ 318fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.my_int = 1 319fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.my_string = 'foo' 320fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.my_float = 1.0 321fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.Extensions[unittest_pb2.my_extension_int] = 23 322fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.Extensions[unittest_pb2.my_extension_string] = 'bar' 323fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 324fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 325fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savilledef ExpectAllFieldsAndExtensionsInOrder(serialized): 326fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville """Ensures that serialized is the serialization we expect for a message 327fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville filled with SetAllFieldsAndExtensions(). (Specifically, ensures that the 328fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville serialization is in canonical, tag-number order). 329fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville """ 330fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville my_extension_int = unittest_pb2.my_extension_int 331fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville my_extension_string = unittest_pb2.my_extension_string 332fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville expected_strings = [] 333fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message = unittest_pb2.TestFieldOrderings() 334fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.my_int = 1 # Field 1. 335fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville expected_strings.append(message.SerializeToString()) 336fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.Clear() 337fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.Extensions[my_extension_int] = 23 # Field 5. 338fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville expected_strings.append(message.SerializeToString()) 339fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.Clear() 340fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.my_string = 'foo' # Field 11. 341fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville expected_strings.append(message.SerializeToString()) 342fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.Clear() 343fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.Extensions[my_extension_string] = 'bar' # Field 50. 344fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville expected_strings.append(message.SerializeToString()) 345fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.Clear() 346fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.my_float = 1.0 347fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville expected_strings.append(message.SerializeToString()) 348fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.Clear() 349fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville expected = ''.join(expected_strings) 350fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 351fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville if expected != serialized: 352fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville raise ValueError('Expected %r, found %r' % (expected, serialized)) 353fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 354fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 355d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Savilledef ExpectAllFieldsSet(test_case, message): 356d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville """Check all fields for correct values have after Set*Fields() is called.""" 357d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optional_int32')) 358d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optional_int64')) 359d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optional_uint32')) 360d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optional_uint64')) 361d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optional_sint32')) 362d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optional_sint64')) 363d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optional_fixed32')) 364d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optional_fixed64')) 365d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optional_sfixed32')) 366d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optional_sfixed64')) 367d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optional_float')) 368d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optional_double')) 369d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optional_bool')) 370d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optional_string')) 371d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optional_bytes')) 372d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 373d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optionalgroup')) 374d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optional_nested_message')) 375d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optional_foreign_message')) 376d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optional_import_message')) 377d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 378d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.optionalgroup.HasField('a')) 379d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.optional_nested_message.HasField('bb')) 380d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.optional_foreign_message.HasField('c')) 381d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.optional_import_message.HasField('d')) 382d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 383d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optional_nested_enum')) 384d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optional_foreign_enum')) 385d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optional_import_enum')) 386d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 387d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optional_string_piece')) 388d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('optional_cord')) 389d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 390d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(101, message.optional_int32) 391d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(102, message.optional_int64) 392d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(103, message.optional_uint32) 393d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(104, message.optional_uint64) 394d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(105, message.optional_sint32) 395d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(106, message.optional_sint64) 396d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(107, message.optional_fixed32) 397d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(108, message.optional_fixed64) 398d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(109, message.optional_sfixed32) 399d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(110, message.optional_sfixed64) 400d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(111, message.optional_float) 401d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(112, message.optional_double) 402d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(True, message.optional_bool) 403d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual('115', message.optional_string) 404d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual('116', message.optional_bytes) 405d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 406d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(117, message.optionalgroup.a) 407d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(118, message.optional_nested_message.bb) 408d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(119, message.optional_foreign_message.c) 409d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(120, message.optional_import_message.d) 410d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 411d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(unittest_pb2.TestAllTypes.BAZ, 412d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.optional_nested_enum) 413d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(unittest_pb2.FOREIGN_BAZ, 414d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.optional_foreign_enum) 415d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(unittest_import_pb2.IMPORT_BAZ, 416d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.optional_import_enum) 417d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 418d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville # ----------------------------------------------------------------- 419d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 420d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeated_int32)) 421d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeated_int64)) 422d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeated_uint32)) 423d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeated_uint64)) 424d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeated_sint32)) 425d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeated_sint64)) 426d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeated_fixed32)) 427d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeated_fixed64)) 428d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeated_sfixed32)) 429d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeated_sfixed64)) 430d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeated_float)) 431d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeated_double)) 432d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeated_bool)) 433d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeated_string)) 434d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeated_bytes)) 435d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 436d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeatedgroup)) 437d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeated_nested_message)) 438d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeated_foreign_message)) 439d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeated_import_message)) 440d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeated_nested_enum)) 441d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeated_foreign_enum)) 442d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeated_import_enum)) 443d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 444d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeated_string_piece)) 445d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(2, len(message.repeated_cord)) 446d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 447d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(201, message.repeated_int32[0]) 448d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(202, message.repeated_int64[0]) 449d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(203, message.repeated_uint32[0]) 450d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(204, message.repeated_uint64[0]) 451d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(205, message.repeated_sint32[0]) 452d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(206, message.repeated_sint64[0]) 453d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(207, message.repeated_fixed32[0]) 454d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(208, message.repeated_fixed64[0]) 455d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(209, message.repeated_sfixed32[0]) 456d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(210, message.repeated_sfixed64[0]) 457d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(211, message.repeated_float[0]) 458d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(212, message.repeated_double[0]) 459d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(True, message.repeated_bool[0]) 460d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual('215', message.repeated_string[0]) 461d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual('216', message.repeated_bytes[0]) 462d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 463d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(217, message.repeatedgroup[0].a) 464d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(218, message.repeated_nested_message[0].bb) 465d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(219, message.repeated_foreign_message[0].c) 466d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(220, message.repeated_import_message[0].d) 467d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 468d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(unittest_pb2.TestAllTypes.BAR, 469d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.repeated_nested_enum[0]) 470d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(unittest_pb2.FOREIGN_BAR, 471d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.repeated_foreign_enum[0]) 472d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(unittest_import_pb2.IMPORT_BAR, 473d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.repeated_import_enum[0]) 474d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 475d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(301, message.repeated_int32[1]) 476d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(302, message.repeated_int64[1]) 477d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(303, message.repeated_uint32[1]) 478d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(304, message.repeated_uint64[1]) 479d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(305, message.repeated_sint32[1]) 480d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(306, message.repeated_sint64[1]) 481d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(307, message.repeated_fixed32[1]) 482d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(308, message.repeated_fixed64[1]) 483d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(309, message.repeated_sfixed32[1]) 484d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(310, message.repeated_sfixed64[1]) 485d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(311, message.repeated_float[1]) 486d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(312, message.repeated_double[1]) 487d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(False, message.repeated_bool[1]) 488d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual('315', message.repeated_string[1]) 489d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual('316', message.repeated_bytes[1]) 490d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 491d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(317, message.repeatedgroup[1].a) 492d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(318, message.repeated_nested_message[1].bb) 493d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(319, message.repeated_foreign_message[1].c) 494d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(320, message.repeated_import_message[1].d) 495d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 496d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(unittest_pb2.TestAllTypes.BAZ, 497d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.repeated_nested_enum[1]) 498d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(unittest_pb2.FOREIGN_BAZ, 499d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.repeated_foreign_enum[1]) 500d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(unittest_import_pb2.IMPORT_BAZ, 501d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.repeated_import_enum[1]) 502d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 503d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville # ----------------------------------------------------------------- 504d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 505d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('default_int32')) 506d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('default_int64')) 507d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('default_uint32')) 508d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('default_uint64')) 509d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('default_sint32')) 510d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('default_sint64')) 511d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('default_fixed32')) 512d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('default_fixed64')) 513d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('default_sfixed32')) 514d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('default_sfixed64')) 515d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('default_float')) 516d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('default_double')) 517d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('default_bool')) 518d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('default_string')) 519d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('default_bytes')) 520d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 521d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('default_nested_enum')) 522d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('default_foreign_enum')) 523d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertTrue(message.HasField('default_import_enum')) 524d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 525d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(401, message.default_int32) 526d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(402, message.default_int64) 527d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(403, message.default_uint32) 528d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(404, message.default_uint64) 529d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(405, message.default_sint32) 530d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(406, message.default_sint64) 531d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(407, message.default_fixed32) 532d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(408, message.default_fixed64) 533d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(409, message.default_sfixed32) 534d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(410, message.default_sfixed64) 535d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(411, message.default_float) 536d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(412, message.default_double) 537d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(False, message.default_bool) 538d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual('415', message.default_string) 539d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual('416', message.default_bytes) 540d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 541d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(unittest_pb2.TestAllTypes.FOO, 542d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.default_nested_enum) 543d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(unittest_pb2.FOREIGN_FOO, 544d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.default_foreign_enum) 545d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville test_case.assertEqual(unittest_import_pb2.IMPORT_FOO, 546d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.default_import_enum) 547fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 548fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savilledef GoldenFile(filename): 549fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville """Finds the given golden file and returns a file object representing it.""" 550fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 551fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # Search up the directory tree looking for the C++ protobuf source code. 552fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville path = '.' 553fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville while os.path.exists(path): 554fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville if os.path.exists(os.path.join(path, 'src/google/protobuf')): 555fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville # Found it. Load the golden file from the testdata directory. 556fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville full_path = os.path.join(path, 'src/google/protobuf/testdata', filename) 557fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville return open(full_path, 'rb') 558fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville path = os.path.join(path, '..') 559fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 560fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville raise RuntimeError( 561fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 'Could not find golden files. This test must be run from within the ' 562fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 'protobuf source package so that it can read test data files from the ' 563fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 'C++ source tree.') 564fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 565fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 566fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savilledef SetAllPackedFields(message): 567fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville """Sets every field in the message to a unique value. 568fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 569fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville Args: 570fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message: A unittest_pb2.TestPackedTypes instance. 571fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville """ 572d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.packed_int32.extend([601, 701]) 573d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.packed_int64.extend([602, 702]) 574d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.packed_uint32.extend([603, 703]) 575d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.packed_uint64.extend([604, 704]) 576d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.packed_sint32.extend([605, 705]) 577d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.packed_sint64.extend([606, 706]) 578d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.packed_fixed32.extend([607, 707]) 579d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.packed_fixed64.extend([608, 708]) 580d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.packed_sfixed32.extend([609, 709]) 581d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.packed_sfixed64.extend([610, 710]) 582d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.packed_float.extend([611.0, 711.0]) 583d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.packed_double.extend([612.0, 712.0]) 584fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.packed_bool.extend([True, False]) 585d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.packed_enum.extend([unittest_pb2.FOREIGN_BAR, 586d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville unittest_pb2.FOREIGN_BAZ]) 587fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 588fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 589fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savilledef SetAllPackedExtensions(message): 590fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville """Sets every extension in the message to a unique value. 591fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 592fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville Args: 593fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message: A unittest_pb2.TestPackedExtensions instance. 594fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville """ 595fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville extensions = message.Extensions 596fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville pb2 = unittest_pb2 597fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 598d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville extensions[pb2.packed_int32_extension].extend([601, 701]) 599d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville extensions[pb2.packed_int64_extension].extend([602, 702]) 600d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville extensions[pb2.packed_uint32_extension].extend([603, 703]) 601d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville extensions[pb2.packed_uint64_extension].extend([604, 704]) 602d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville extensions[pb2.packed_sint32_extension].extend([605, 705]) 603d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville extensions[pb2.packed_sint64_extension].extend([606, 706]) 604d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville extensions[pb2.packed_fixed32_extension].extend([607, 707]) 605d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville extensions[pb2.packed_fixed64_extension].extend([608, 708]) 606d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville extensions[pb2.packed_sfixed32_extension].extend([609, 709]) 607d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville extensions[pb2.packed_sfixed64_extension].extend([610, 710]) 608d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville extensions[pb2.packed_float_extension].extend([611.0, 711.0]) 609d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville extensions[pb2.packed_double_extension].extend([612.0, 712.0]) 610d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville extensions[pb2.packed_bool_extension].extend([True, False]) 611d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville extensions[pb2.packed_enum_extension].extend([unittest_pb2.FOREIGN_BAR, 612d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville unittest_pb2.FOREIGN_BAZ]) 613d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 614d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 615d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Savilledef SetAllUnpackedFields(message): 616d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville """Sets every field in the message to a unique value. 617d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 618d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville Args: 619d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message: A unittest_pb2.TestUnpackedTypes instance. 620d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville """ 621d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.unpacked_int32.extend([601, 701]) 622d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.unpacked_int64.extend([602, 702]) 623d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.unpacked_uint32.extend([603, 703]) 624d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.unpacked_uint64.extend([604, 704]) 625d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.unpacked_sint32.extend([605, 705]) 626d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.unpacked_sint64.extend([606, 706]) 627d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.unpacked_fixed32.extend([607, 707]) 628d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.unpacked_fixed64.extend([608, 708]) 629d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.unpacked_sfixed32.extend([609, 709]) 630d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.unpacked_sfixed64.extend([610, 710]) 631d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.unpacked_float.extend([611.0, 711.0]) 632d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.unpacked_double.extend([612.0, 712.0]) 633d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.unpacked_bool.extend([True, False]) 634d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message.unpacked_enum.extend([unittest_pb2.FOREIGN_BAR, 635d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville unittest_pb2.FOREIGN_BAZ]) 636