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// Author: kenton@google.com (Kenton Varda) 32fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// Based on original Protocol Buffers design by 33fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// Sanjay Ghemawat, Jeff Dean, and others. 34fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 35fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#ifdef _WIN32 36fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// Verify that #including windows.h does not break anything (e.g. because 37fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// windows.h #defines GetMessage() as a macro). 38fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#include <windows.h> 39fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#endif 40fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 41fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#include <google/protobuf/test_util.h> 42fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#include <google/protobuf/descriptor.h> 43fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#include <google/protobuf/message.h> 44fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 45fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#include <google/protobuf/stubs/common.h> 46fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#include <google/protobuf/testing/googletest.h> 47fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#include <gtest/gtest.h> 48fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 49fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillenamespace google { 50fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillenamespace protobuf { 51fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 52fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::SetAllFields(unittest::TestAllTypes* message) { 53fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_optional_int32 (101); 54fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_optional_int64 (102); 55fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_optional_uint32 (103); 56fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_optional_uint64 (104); 57fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_optional_sint32 (105); 58fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_optional_sint64 (106); 59fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_optional_fixed32 (107); 60fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_optional_fixed64 (108); 61fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_optional_sfixed32(109); 62fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_optional_sfixed64(110); 63fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_optional_float (111); 64fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_optional_double (112); 65fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_optional_bool (true); 66fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_optional_string ("115"); 67fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_optional_bytes ("116"); 68fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 69fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->mutable_optionalgroup ()->set_a(117); 70fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->mutable_optional_nested_message ()->set_bb(118); 71fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->mutable_optional_foreign_message()->set_c(119); 72fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->mutable_optional_import_message ()->set_d(120); 73fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 74fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_optional_nested_enum (unittest::TestAllTypes::BAZ); 75fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_optional_foreign_enum(unittest::FOREIGN_BAZ ); 76fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_optional_import_enum (unittest_import::IMPORT_BAZ); 77fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 78fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // StringPiece and Cord fields are only accessible via reflection in the 79fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // open source release; see comments in compiler/cpp/string_field.cc. 80fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#ifndef PROTOBUF_TEST_NO_DESCRIPTORS 81fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->GetReflection()->SetString( 82fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message, 83fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->GetDescriptor()->FindFieldByName("optional_string_piece"), 84fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville "124"); 85fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->GetReflection()->SetString( 86fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message, 87fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->GetDescriptor()->FindFieldByName("optional_cord"), 88fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville "125"); 89fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#endif // !PROTOBUF_TEST_NO_DESCRIPTORS 90fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 91fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // ----------------------------------------------------------------- 92fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 93fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_int32 (201); 94fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_int64 (202); 95fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_uint32 (203); 96fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_uint64 (204); 97fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_sint32 (205); 98fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_sint64 (206); 99fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_fixed32 (207); 100fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_fixed64 (208); 101fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_sfixed32(209); 102fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_sfixed64(210); 103fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_float (211); 104fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_double (212); 105fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_bool (true); 106fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_string ("215"); 107fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_bytes ("216"); 108fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 109fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeatedgroup ()->set_a(217); 110fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_nested_message ()->set_bb(218); 111fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_foreign_message()->set_c(219); 112fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_import_message ()->set_d(220); 113fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 114fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_nested_enum (unittest::TestAllTypes::BAR); 115fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_foreign_enum(unittest::FOREIGN_BAR ); 116fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_import_enum (unittest_import::IMPORT_BAR); 117fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 118fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#ifndef PROTOBUF_TEST_NO_DESCRIPTORS 119fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->GetReflection()->AddString( 120fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message, 121fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->GetDescriptor()->FindFieldByName("repeated_string_piece"), 122fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville "224"); 123fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->GetReflection()->AddString( 124fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message, 125fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->GetDescriptor()->FindFieldByName("repeated_cord"), 126fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville "225"); 127fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#endif // !PROTOBUF_TEST_NO_DESCRIPTORS 128fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 129fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Add a second one of each field. 130fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_int32 (301); 131fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_int64 (302); 132fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_uint32 (303); 133fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_uint64 (304); 134fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_sint32 (305); 135fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_sint64 (306); 136fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_fixed32 (307); 137fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_fixed64 (308); 138fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_sfixed32(309); 139fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_sfixed64(310); 140fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_float (311); 141fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_double (312); 142fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_bool (false); 143fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_string ("315"); 144fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_bytes ("316"); 145fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 146fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeatedgroup ()->set_a(317); 147fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_nested_message ()->set_bb(318); 148fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_foreign_message()->set_c(319); 149fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_import_message ()->set_d(320); 150fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 151fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_nested_enum (unittest::TestAllTypes::BAZ); 152fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_foreign_enum(unittest::FOREIGN_BAZ ); 153fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_repeated_import_enum (unittest_import::IMPORT_BAZ); 154fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 155fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#ifndef PROTOBUF_TEST_NO_DESCRIPTORS 156fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->GetReflection()->AddString( 157fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message, 158fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->GetDescriptor()->FindFieldByName("repeated_string_piece"), 159fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville "324"); 160fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->GetReflection()->AddString( 161fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message, 162fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->GetDescriptor()->FindFieldByName("repeated_cord"), 163fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville "325"); 164fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#endif // !PROTOBUF_TEST_NO_DESCRIPTORS 165fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 166fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // ----------------------------------------------------------------- 167fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 168fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_default_int32 (401); 169fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_default_int64 (402); 170fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_default_uint32 (403); 171fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_default_uint64 (404); 172fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_default_sint32 (405); 173fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_default_sint64 (406); 174fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_default_fixed32 (407); 175fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_default_fixed64 (408); 176fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_default_sfixed32(409); 177fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_default_sfixed64(410); 178fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_default_float (411); 179fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_default_double (412); 180fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_default_bool (false); 181fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_default_string ("415"); 182fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_default_bytes ("416"); 183fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 184fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_default_nested_enum (unittest::TestAllTypes::FOO); 185fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_default_foreign_enum(unittest::FOREIGN_FOO ); 186fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_default_import_enum (unittest_import::IMPORT_FOO); 187fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 188fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#ifndef PROTOBUF_TEST_NO_DESCRIPTORS 189fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->GetReflection()->SetString( 190fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message, 191fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->GetDescriptor()->FindFieldByName("default_string_piece"), 192fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville "424"); 193fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->GetReflection()->SetString( 194fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message, 195fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->GetDescriptor()->FindFieldByName("default_cord"), 196fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville "425"); 197fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#endif // !PROTOBUF_TEST_NO_DESCRIPTORS 198fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 199fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 200fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 201fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 202fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ModifyRepeatedFields(unittest::TestAllTypes* message) { 203fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_repeated_int32 (1, 501); 204fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_repeated_int64 (1, 502); 205fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_repeated_uint32 (1, 503); 206fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_repeated_uint64 (1, 504); 207fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_repeated_sint32 (1, 505); 208fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_repeated_sint64 (1, 506); 209fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_repeated_fixed32 (1, 507); 210fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_repeated_fixed64 (1, 508); 211fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_repeated_sfixed32(1, 509); 212fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_repeated_sfixed64(1, 510); 213fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_repeated_float (1, 511); 214fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_repeated_double (1, 512); 215fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_repeated_bool (1, true); 216fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_repeated_string (1, "515"); 217fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_repeated_bytes (1, "516"); 218fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 219fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->mutable_repeatedgroup (1)->set_a(517); 220fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->mutable_repeated_nested_message (1)->set_bb(518); 221fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->mutable_repeated_foreign_message(1)->set_c(519); 222fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->mutable_repeated_import_message (1)->set_d(520); 223fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 224fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_repeated_nested_enum (1, unittest::TestAllTypes::FOO); 225fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_repeated_foreign_enum(1, unittest::FOREIGN_FOO ); 226fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_repeated_import_enum (1, unittest_import::IMPORT_FOO); 227fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 228fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#ifndef PROTOBUF_TEST_NO_DESCRIPTORS 229fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->GetReflection()->SetRepeatedString( 230fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message, 231fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->GetDescriptor()->FindFieldByName("repeated_string_piece"), 232d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 1, "524"); 233fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->GetReflection()->SetRepeatedString( 234fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message, 235fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->GetDescriptor()->FindFieldByName("repeated_cord"), 236d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 1, "525"); 237fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#endif // !PROTOBUF_TEST_NO_DESCRIPTORS 238fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 239fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 240fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 241fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 242fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ExpectAllFieldsSet(const unittest::TestAllTypes& message) { 243fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optional_int32 ()); 244fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optional_int64 ()); 245fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optional_uint32 ()); 246fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optional_uint64 ()); 247fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optional_sint32 ()); 248fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optional_sint64 ()); 249fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optional_fixed32 ()); 250fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optional_fixed64 ()); 251fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optional_sfixed32()); 252fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optional_sfixed64()); 253fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optional_float ()); 254fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optional_double ()); 255fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optional_bool ()); 256fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optional_string ()); 257fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optional_bytes ()); 258fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 259fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optionalgroup ()); 260fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optional_nested_message ()); 261fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optional_foreign_message()); 262fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optional_import_message ()); 263fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 264fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.optionalgroup ().has_a()); 265fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.optional_nested_message ().has_bb()); 266fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.optional_foreign_message().has_c()); 267fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.optional_import_message ().has_d()); 268fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 269fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optional_nested_enum ()); 270fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optional_foreign_enum()); 271fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optional_import_enum ()); 272fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 273fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#ifndef PROTOBUF_TEST_NO_DESCRIPTORS 274fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optional_string_piece()); 275fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_optional_cord()); 276fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#endif 277fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 278fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(101 , message.optional_int32 ()); 279fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(102 , message.optional_int64 ()); 280fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(103 , message.optional_uint32 ()); 281fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(104 , message.optional_uint64 ()); 282fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(105 , message.optional_sint32 ()); 283fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(106 , message.optional_sint64 ()); 284fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(107 , message.optional_fixed32 ()); 285fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(108 , message.optional_fixed64 ()); 286fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(109 , message.optional_sfixed32()); 287fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(110 , message.optional_sfixed64()); 288fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(111 , message.optional_float ()); 289fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(112 , message.optional_double ()); 290fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , message.optional_bool ()); 291fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("115", message.optional_string ()); 292fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("116", message.optional_bytes ()); 293fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 294fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(117, message.optionalgroup ().a()); 295fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(118, message.optional_nested_message ().bb()); 296fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(119, message.optional_foreign_message().c()); 297fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(120, message.optional_import_message ().d()); 298fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 299fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::TestAllTypes::BAZ, message.optional_nested_enum ()); 300fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_BAZ , message.optional_foreign_enum()); 301fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest_import::IMPORT_BAZ, message.optional_import_enum ()); 302fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 303fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 304fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // ----------------------------------------------------------------- 305fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 306fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_int32_size ()); 307fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_int64_size ()); 308fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_uint32_size ()); 309fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_uint64_size ()); 310fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_sint32_size ()); 311fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_sint64_size ()); 312fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_fixed32_size ()); 313fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_fixed64_size ()); 314fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_sfixed32_size()); 315fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_sfixed64_size()); 316fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_float_size ()); 317fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_double_size ()); 318fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_bool_size ()); 319fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_string_size ()); 320fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_bytes_size ()); 321fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 322fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeatedgroup_size ()); 323fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_nested_message_size ()); 324fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_foreign_message_size()); 325fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_import_message_size ()); 326fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_nested_enum_size ()); 327fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_foreign_enum_size ()); 328fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_import_enum_size ()); 329fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 330fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#ifndef PROTOBUF_TEST_NO_DESCRIPTORS 331fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_string_piece_size()); 332fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_cord_size()); 333fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#endif 334fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 335fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(201 , message.repeated_int32 (0)); 336fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(202 , message.repeated_int64 (0)); 337fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(203 , message.repeated_uint32 (0)); 338fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(204 , message.repeated_uint64 (0)); 339fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(205 , message.repeated_sint32 (0)); 340fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(206 , message.repeated_sint64 (0)); 341fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(207 , message.repeated_fixed32 (0)); 342fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(208 , message.repeated_fixed64 (0)); 343fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(209 , message.repeated_sfixed32(0)); 344fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(210 , message.repeated_sfixed64(0)); 345fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(211 , message.repeated_float (0)); 346fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(212 , message.repeated_double (0)); 347fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , message.repeated_bool (0)); 348fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("215", message.repeated_string (0)); 349fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("216", message.repeated_bytes (0)); 350fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 351fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(217, message.repeatedgroup (0).a()); 352fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(218, message.repeated_nested_message (0).bb()); 353fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(219, message.repeated_foreign_message(0).c()); 354fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(220, message.repeated_import_message (0).d()); 355fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 356fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 357fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::TestAllTypes::BAR, message.repeated_nested_enum (0)); 358fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_BAR , message.repeated_foreign_enum(0)); 359fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest_import::IMPORT_BAR, message.repeated_import_enum (0)); 360fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 361fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(301 , message.repeated_int32 (1)); 362fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(302 , message.repeated_int64 (1)); 363fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(303 , message.repeated_uint32 (1)); 364fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(304 , message.repeated_uint64 (1)); 365fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(305 , message.repeated_sint32 (1)); 366fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(306 , message.repeated_sint64 (1)); 367fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(307 , message.repeated_fixed32 (1)); 368fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(308 , message.repeated_fixed64 (1)); 369fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(309 , message.repeated_sfixed32(1)); 370fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(310 , message.repeated_sfixed64(1)); 371fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(311 , message.repeated_float (1)); 372fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(312 , message.repeated_double (1)); 373fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(false, message.repeated_bool (1)); 374fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("315", message.repeated_string (1)); 375fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("316", message.repeated_bytes (1)); 376fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 377fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(317, message.repeatedgroup (1).a()); 378fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(318, message.repeated_nested_message (1).bb()); 379fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(319, message.repeated_foreign_message(1).c()); 380fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(320, message.repeated_import_message (1).d()); 381fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 382fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::TestAllTypes::BAZ, message.repeated_nested_enum (1)); 383fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_BAZ , message.repeated_foreign_enum(1)); 384fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest_import::IMPORT_BAZ, message.repeated_import_enum (1)); 385fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 386fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 387fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // ----------------------------------------------------------------- 388fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 389fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_default_int32 ()); 390fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_default_int64 ()); 391fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_default_uint32 ()); 392fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_default_uint64 ()); 393fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_default_sint32 ()); 394fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_default_sint64 ()); 395fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_default_fixed32 ()); 396fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_default_fixed64 ()); 397fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_default_sfixed32()); 398fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_default_sfixed64()); 399fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_default_float ()); 400fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_default_double ()); 401fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_default_bool ()); 402fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_default_string ()); 403fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_default_bytes ()); 404fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 405fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_default_nested_enum ()); 406fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_default_foreign_enum()); 407fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.has_default_import_enum ()); 408fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 409fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 410fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(401 , message.default_int32 ()); 411fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(402 , message.default_int64 ()); 412fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(403 , message.default_uint32 ()); 413fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(404 , message.default_uint64 ()); 414fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(405 , message.default_sint32 ()); 415fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(406 , message.default_sint64 ()); 416fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(407 , message.default_fixed32 ()); 417fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(408 , message.default_fixed64 ()); 418fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(409 , message.default_sfixed32()); 419fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(410 , message.default_sfixed64()); 420fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(411 , message.default_float ()); 421fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(412 , message.default_double ()); 422fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(false, message.default_bool ()); 423fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("415", message.default_string ()); 424fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("416", message.default_bytes ()); 425fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 426fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::TestAllTypes::FOO, message.default_nested_enum ()); 427fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_FOO , message.default_foreign_enum()); 428fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest_import::IMPORT_FOO, message.default_import_enum ()); 429fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 430fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 431fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 432fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 433fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 434fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ExpectClear(const unittest::TestAllTypes& message) { 435fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // has_blah() should initially be false for all optional fields. 436fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optional_int32 ()); 437fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optional_int64 ()); 438fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optional_uint32 ()); 439fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optional_uint64 ()); 440fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optional_sint32 ()); 441fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optional_sint64 ()); 442fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optional_fixed32 ()); 443fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optional_fixed64 ()); 444fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optional_sfixed32()); 445fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optional_sfixed64()); 446fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optional_float ()); 447fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optional_double ()); 448fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optional_bool ()); 449fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optional_string ()); 450fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optional_bytes ()); 451fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 452fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optionalgroup ()); 453fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optional_nested_message ()); 454fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optional_foreign_message()); 455fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optional_import_message ()); 456fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 457fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optional_nested_enum ()); 458fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optional_foreign_enum()); 459fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optional_import_enum ()); 460fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 461fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optional_string_piece()); 462fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_optional_cord()); 463fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 464fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Optional fields without defaults are set to zero or something like it. 465fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.optional_int32 ()); 466fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.optional_int64 ()); 467fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.optional_uint32 ()); 468fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.optional_uint64 ()); 469fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.optional_sint32 ()); 470fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.optional_sint64 ()); 471fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.optional_fixed32 ()); 472fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.optional_fixed64 ()); 473fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.optional_sfixed32()); 474fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.optional_sfixed64()); 475fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.optional_float ()); 476fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.optional_double ()); 477fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(false, message.optional_bool ()); 478fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("" , message.optional_string ()); 479fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("" , message.optional_bytes ()); 480fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 481fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Embedded messages should also be clear. 482fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.optionalgroup ().has_a()); 483fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.optional_nested_message ().has_bb()); 484fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.optional_foreign_message().has_c()); 485fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.optional_import_message ().has_d()); 486fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 487fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.optionalgroup ().a()); 488fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.optional_nested_message ().bb()); 489fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.optional_foreign_message().c()); 490fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.optional_import_message ().d()); 491fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 492fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Enums without defaults are set to the first value in the enum. 493fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::TestAllTypes::FOO, message.optional_nested_enum ()); 494fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_FOO , message.optional_foreign_enum()); 495fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest_import::IMPORT_FOO, message.optional_import_enum ()); 496fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 497fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 498fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Repeated fields are empty. 499fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeated_int32_size ()); 500fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeated_int64_size ()); 501fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeated_uint32_size ()); 502fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeated_uint64_size ()); 503fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeated_sint32_size ()); 504fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeated_sint64_size ()); 505fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeated_fixed32_size ()); 506fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeated_fixed64_size ()); 507fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeated_sfixed32_size()); 508fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeated_sfixed64_size()); 509fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeated_float_size ()); 510fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeated_double_size ()); 511fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeated_bool_size ()); 512fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeated_string_size ()); 513fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeated_bytes_size ()); 514fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 515fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeatedgroup_size ()); 516fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeated_nested_message_size ()); 517fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeated_foreign_message_size()); 518fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeated_import_message_size ()); 519fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeated_nested_enum_size ()); 520fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeated_foreign_enum_size ()); 521fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeated_import_enum_size ()); 522fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 523fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeated_string_piece_size()); 524fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.repeated_cord_size()); 525fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 526fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // has_blah() should also be false for all default fields. 527fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_default_int32 ()); 528fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_default_int64 ()); 529fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_default_uint32 ()); 530fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_default_uint64 ()); 531fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_default_sint32 ()); 532fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_default_sint64 ()); 533fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_default_fixed32 ()); 534fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_default_fixed64 ()); 535fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_default_sfixed32()); 536fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_default_sfixed64()); 537fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_default_float ()); 538fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_default_double ()); 539fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_default_bool ()); 540fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_default_string ()); 541fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_default_bytes ()); 542fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 543fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_default_nested_enum ()); 544fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_default_foreign_enum()); 545fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.has_default_import_enum ()); 546fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 547fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 548fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Fields with defaults have their default values (duh). 549fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 41 , message.default_int32 ()); 550fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 42 , message.default_int64 ()); 551fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 43 , message.default_uint32 ()); 552fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 44 , message.default_uint64 ()); 553fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(-45 , message.default_sint32 ()); 554fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 46 , message.default_sint64 ()); 555fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 47 , message.default_fixed32 ()); 556fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 48 , message.default_fixed64 ()); 557fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 49 , message.default_sfixed32()); 558fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(-50 , message.default_sfixed64()); 559fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 51.5 , message.default_float ()); 560fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 52e3 , message.default_double ()); 561fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , message.default_bool ()); 562fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("hello", message.default_string ()); 563fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("world", message.default_bytes ()); 564fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 565fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::TestAllTypes::BAR, message.default_nested_enum ()); 566fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_BAR , message.default_foreign_enum()); 567fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest_import::IMPORT_BAR, message.default_import_enum ()); 568fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 569fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 570fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 571fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 572fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 573fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ExpectRepeatedFieldsModified( 574fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const unittest::TestAllTypes& message) { 575fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // ModifyRepeatedFields only sets the second repeated element of each 576fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // field. In addition to verifying this, we also verify that the first 577fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // element and size were *not* modified. 578fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_int32_size ()); 579fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_int64_size ()); 580fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_uint32_size ()); 581fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_uint64_size ()); 582fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_sint32_size ()); 583fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_sint64_size ()); 584fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_fixed32_size ()); 585fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_fixed64_size ()); 586fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_sfixed32_size()); 587fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_sfixed64_size()); 588fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_float_size ()); 589fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_double_size ()); 590fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_bool_size ()); 591fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_string_size ()); 592fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_bytes_size ()); 593fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 594fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeatedgroup_size ()); 595fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_nested_message_size ()); 596fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_foreign_message_size()); 597fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_import_message_size ()); 598fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_nested_enum_size ()); 599fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_foreign_enum_size ()); 600fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_import_enum_size ()); 601fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 602fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#ifndef PROTOBUF_TEST_NO_DESCRIPTORS 603fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_string_piece_size()); 604fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_cord_size()); 605fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#endif 606fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 607fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(201 , message.repeated_int32 (0)); 608fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(202 , message.repeated_int64 (0)); 609fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(203 , message.repeated_uint32 (0)); 610fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(204 , message.repeated_uint64 (0)); 611fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(205 , message.repeated_sint32 (0)); 612fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(206 , message.repeated_sint64 (0)); 613fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(207 , message.repeated_fixed32 (0)); 614fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(208 , message.repeated_fixed64 (0)); 615fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(209 , message.repeated_sfixed32(0)); 616fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(210 , message.repeated_sfixed64(0)); 617fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(211 , message.repeated_float (0)); 618fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(212 , message.repeated_double (0)); 619fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , message.repeated_bool (0)); 620fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("215", message.repeated_string (0)); 621fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("216", message.repeated_bytes (0)); 622fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 623fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(217, message.repeatedgroup (0).a()); 624fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(218, message.repeated_nested_message (0).bb()); 625fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(219, message.repeated_foreign_message(0).c()); 626fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(220, message.repeated_import_message (0).d()); 627fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 628fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::TestAllTypes::BAR, message.repeated_nested_enum (0)); 629fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_BAR , message.repeated_foreign_enum(0)); 630fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest_import::IMPORT_BAR, message.repeated_import_enum (0)); 631fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 632fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 633fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Actually verify the second (modified) elements now. 634fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(501 , message.repeated_int32 (1)); 635fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(502 , message.repeated_int64 (1)); 636fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(503 , message.repeated_uint32 (1)); 637fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(504 , message.repeated_uint64 (1)); 638fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(505 , message.repeated_sint32 (1)); 639fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(506 , message.repeated_sint64 (1)); 640fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(507 , message.repeated_fixed32 (1)); 641fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(508 , message.repeated_fixed64 (1)); 642fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(509 , message.repeated_sfixed32(1)); 643fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(510 , message.repeated_sfixed64(1)); 644fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(511 , message.repeated_float (1)); 645fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(512 , message.repeated_double (1)); 646fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , message.repeated_bool (1)); 647fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("515", message.repeated_string (1)); 648fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("516", message.repeated_bytes (1)); 649fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 650fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(517, message.repeatedgroup (1).a()); 651fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(518, message.repeated_nested_message (1).bb()); 652fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(519, message.repeated_foreign_message(1).c()); 653fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(520, message.repeated_import_message (1).d()); 654fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 655fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::TestAllTypes::FOO, message.repeated_nested_enum (1)); 656fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_FOO , message.repeated_foreign_enum(1)); 657fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest_import::IMPORT_FOO, message.repeated_import_enum (1)); 658fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 659fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 660fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 661fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 662fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 663fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::SetPackedFields(unittest::TestPackedTypes* message) { 664fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_int32 (601); 665fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_int64 (602); 666fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_uint32 (603); 667fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_uint64 (604); 668fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_sint32 (605); 669fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_sint64 (606); 670fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_fixed32 (607); 671fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_fixed64 (608); 672fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_sfixed32(609); 673fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_sfixed64(610); 674fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_float (611); 675fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_double (612); 676fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_bool (true); 677fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_enum (unittest::FOREIGN_BAR); 678fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // add a second one of each field 679fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_int32 (701); 680fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_int64 (702); 681fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_uint32 (703); 682fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_uint64 (704); 683fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_sint32 (705); 684fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_sint64 (706); 685fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_fixed32 (707); 686fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_fixed64 (708); 687fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_sfixed32(709); 688fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_sfixed64(710); 689fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_float (711); 690fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_double (712); 691fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_bool (false); 692fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->add_packed_enum (unittest::FOREIGN_BAZ); 693fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 694fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 695d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Savillevoid TestUtil::SetUnpackedFields(unittest::TestUnpackedTypes* message) { 696d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville // The values applied here must match those of SetPackedFields. 697d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 698d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_int32 (601); 699d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_int64 (602); 700d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_uint32 (603); 701d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_uint64 (604); 702d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_sint32 (605); 703d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_sint64 (606); 704d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_fixed32 (607); 705d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_fixed64 (608); 706d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_sfixed32(609); 707d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_sfixed64(610); 708d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_float (611); 709d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_double (612); 710d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_bool (true); 711d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_enum (unittest::FOREIGN_BAR); 712d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville // add a second one of each field 713d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_int32 (701); 714d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_int64 (702); 715d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_uint32 (703); 716d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_uint64 (704); 717d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_sint32 (705); 718d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_sint64 (706); 719d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_fixed32 (707); 720d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_fixed64 (708); 721d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_sfixed32(709); 722d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_sfixed64(710); 723d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_float (711); 724d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_double (712); 725d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_bool (false); 726d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville message->add_unpacked_enum (unittest::FOREIGN_BAZ); 727d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville} 728d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 729fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 730fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 731fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ModifyPackedFields(unittest::TestPackedTypes* message) { 732fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_packed_int32 (1, 801); 733fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_packed_int64 (1, 802); 734fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_packed_uint32 (1, 803); 735fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_packed_uint64 (1, 804); 736fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_packed_sint32 (1, 805); 737fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_packed_sint64 (1, 806); 738fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_packed_fixed32 (1, 807); 739fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_packed_fixed64 (1, 808); 740fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_packed_sfixed32(1, 809); 741fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_packed_sfixed64(1, 810); 742fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_packed_float (1, 811); 743fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_packed_double (1, 812); 744fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_packed_bool (1, true); 745fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_packed_enum (1, unittest::FOREIGN_FOO); 746fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 747fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 748fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 749fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 750fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ExpectPackedFieldsSet(const unittest::TestPackedTypes& message) { 751fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_int32_size ()); 752fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_int64_size ()); 753fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_uint32_size ()); 754fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_uint64_size ()); 755fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_sint32_size ()); 756fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_sint64_size ()); 757fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_fixed32_size ()); 758fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_fixed64_size ()); 759fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_sfixed32_size()); 760fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_sfixed64_size()); 761fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_float_size ()); 762fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_double_size ()); 763fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_bool_size ()); 764fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_enum_size ()); 765fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 766fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(601 , message.packed_int32 (0)); 767fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(602 , message.packed_int64 (0)); 768fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(603 , message.packed_uint32 (0)); 769fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(604 , message.packed_uint64 (0)); 770fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(605 , message.packed_sint32 (0)); 771fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(606 , message.packed_sint64 (0)); 772fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(607 , message.packed_fixed32 (0)); 773fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(608 , message.packed_fixed64 (0)); 774fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(609 , message.packed_sfixed32(0)); 775fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(610 , message.packed_sfixed64(0)); 776fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(611 , message.packed_float (0)); 777fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(612 , message.packed_double (0)); 778fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , message.packed_bool (0)); 779fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_BAR, message.packed_enum(0)); 780fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 781fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(701 , message.packed_int32 (1)); 782fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(702 , message.packed_int64 (1)); 783fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(703 , message.packed_uint32 (1)); 784fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(704 , message.packed_uint64 (1)); 785fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(705 , message.packed_sint32 (1)); 786fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(706 , message.packed_sint64 (1)); 787fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(707 , message.packed_fixed32 (1)); 788fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(708 , message.packed_fixed64 (1)); 789fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(709 , message.packed_sfixed32(1)); 790fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(710 , message.packed_sfixed64(1)); 791fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(711 , message.packed_float (1)); 792fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(712 , message.packed_double (1)); 793fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(false, message.packed_bool (1)); 794fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_BAZ, message.packed_enum(1)); 795fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 796fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 797d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Savillevoid TestUtil::ExpectUnpackedFieldsSet( 798d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville const unittest::TestUnpackedTypes& message) { 799d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville // The values expected here must match those of ExpectPackedFieldsSet. 800d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 801d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville ASSERT_EQ(2, message.unpacked_int32_size ()); 802d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville ASSERT_EQ(2, message.unpacked_int64_size ()); 803d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville ASSERT_EQ(2, message.unpacked_uint32_size ()); 804d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville ASSERT_EQ(2, message.unpacked_uint64_size ()); 805d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville ASSERT_EQ(2, message.unpacked_sint32_size ()); 806d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville ASSERT_EQ(2, message.unpacked_sint64_size ()); 807d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville ASSERT_EQ(2, message.unpacked_fixed32_size ()); 808d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville ASSERT_EQ(2, message.unpacked_fixed64_size ()); 809d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville ASSERT_EQ(2, message.unpacked_sfixed32_size()); 810d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville ASSERT_EQ(2, message.unpacked_sfixed64_size()); 811d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville ASSERT_EQ(2, message.unpacked_float_size ()); 812d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville ASSERT_EQ(2, message.unpacked_double_size ()); 813d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville ASSERT_EQ(2, message.unpacked_bool_size ()); 814d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville ASSERT_EQ(2, message.unpacked_enum_size ()); 815d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 816d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(601 , message.unpacked_int32 (0)); 817d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(602 , message.unpacked_int64 (0)); 818d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(603 , message.unpacked_uint32 (0)); 819d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(604 , message.unpacked_uint64 (0)); 820d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(605 , message.unpacked_sint32 (0)); 821d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(606 , message.unpacked_sint64 (0)); 822d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(607 , message.unpacked_fixed32 (0)); 823d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(608 , message.unpacked_fixed64 (0)); 824d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(609 , message.unpacked_sfixed32(0)); 825d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(610 , message.unpacked_sfixed64(0)); 826d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(611 , message.unpacked_float (0)); 827d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(612 , message.unpacked_double (0)); 828d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(true , message.unpacked_bool (0)); 829d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(unittest::FOREIGN_BAR, message.unpacked_enum(0)); 830d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 831d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(701 , message.unpacked_int32 (1)); 832d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(702 , message.unpacked_int64 (1)); 833d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(703 , message.unpacked_uint32 (1)); 834d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(704 , message.unpacked_uint64 (1)); 835d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(705 , message.unpacked_sint32 (1)); 836d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(706 , message.unpacked_sint64 (1)); 837d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(707 , message.unpacked_fixed32 (1)); 838d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(708 , message.unpacked_fixed64 (1)); 839d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(709 , message.unpacked_sfixed32(1)); 840d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(710 , message.unpacked_sfixed64(1)); 841d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(711 , message.unpacked_float (1)); 842d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(712 , message.unpacked_double (1)); 843d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(false, message.unpacked_bool (1)); 844d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville EXPECT_EQ(unittest::FOREIGN_BAZ, message.unpacked_enum(1)); 845d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville} 846d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville 847fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 848fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 849fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ExpectPackedClear( 850fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const unittest::TestPackedTypes& message) { 851fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Packed repeated fields are empty. 852fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.packed_int32_size ()); 853fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.packed_int64_size ()); 854fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.packed_uint32_size ()); 855fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.packed_uint64_size ()); 856fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.packed_sint32_size ()); 857fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.packed_sint64_size ()); 858fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.packed_fixed32_size ()); 859fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.packed_fixed64_size ()); 860fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.packed_sfixed32_size()); 861fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.packed_sfixed64_size()); 862fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.packed_float_size ()); 863fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.packed_double_size ()); 864fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.packed_bool_size ()); 865fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.packed_enum_size ()); 866fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 867fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 868fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 869fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 870fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ExpectPackedFieldsModified( 871fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const unittest::TestPackedTypes& message) { 872fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Do the same for packed repeated fields. 873fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_int32_size ()); 874fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_int64_size ()); 875fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_uint32_size ()); 876fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_uint64_size ()); 877fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_sint32_size ()); 878fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_sint64_size ()); 879fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_fixed32_size ()); 880fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_fixed64_size ()); 881fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_sfixed32_size()); 882fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_sfixed64_size()); 883fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_float_size ()); 884fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_double_size ()); 885fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_bool_size ()); 886fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.packed_enum_size ()); 887fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 888fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(601 , message.packed_int32 (0)); 889fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(602 , message.packed_int64 (0)); 890fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(603 , message.packed_uint32 (0)); 891fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(604 , message.packed_uint64 (0)); 892fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(605 , message.packed_sint32 (0)); 893fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(606 , message.packed_sint64 (0)); 894fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(607 , message.packed_fixed32 (0)); 895fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(608 , message.packed_fixed64 (0)); 896fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(609 , message.packed_sfixed32(0)); 897fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(610 , message.packed_sfixed64(0)); 898fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(611 , message.packed_float (0)); 899fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(612 , message.packed_double (0)); 900fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , message.packed_bool (0)); 901fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_BAR, message.packed_enum(0)); 902fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Actually verify the second (modified) elements now. 903fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(801 , message.packed_int32 (1)); 904fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(802 , message.packed_int64 (1)); 905fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(803 , message.packed_uint32 (1)); 906fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(804 , message.packed_uint64 (1)); 907fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(805 , message.packed_sint32 (1)); 908fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(806 , message.packed_sint64 (1)); 909fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(807 , message.packed_fixed32 (1)); 910fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(808 , message.packed_fixed64 (1)); 911fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(809 , message.packed_sfixed32(1)); 912fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(810 , message.packed_sfixed64(1)); 913fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(811 , message.packed_float (1)); 914fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(812 , message.packed_double (1)); 915fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , message.packed_bool (1)); 916fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_FOO, message.packed_enum(1)); 917fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 918fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 919fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// =================================================================== 920fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// Extensions 921fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// 922fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// All this code is exactly equivalent to the above code except that it's 923fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// manipulating extension fields instead of normal ones. 924fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// 925fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// I gave up on the 80-char limit here. Sorry. 926fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 927fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::SetAllExtensions(unittest::TestAllExtensions* message) { 928fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::optional_int32_extension , 101); 929fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::optional_int64_extension , 102); 930fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::optional_uint32_extension , 103); 931fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::optional_uint64_extension , 104); 932fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::optional_sint32_extension , 105); 933fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::optional_sint64_extension , 106); 934fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::optional_fixed32_extension , 107); 935fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::optional_fixed64_extension , 108); 936fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::optional_sfixed32_extension, 109); 937fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::optional_sfixed64_extension, 110); 938fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::optional_float_extension , 111); 939fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::optional_double_extension , 112); 940fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::optional_bool_extension , true); 941fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::optional_string_extension , "115"); 942fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::optional_bytes_extension , "116"); 943fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 944fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->MutableExtension(unittest::optionalgroup_extension )->set_a(117); 945fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->MutableExtension(unittest::optional_nested_message_extension )->set_bb(118); 946fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->MutableExtension(unittest::optional_foreign_message_extension)->set_c(119); 947fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->MutableExtension(unittest::optional_import_message_extension )->set_d(120); 948fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 949fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::optional_nested_enum_extension , unittest::TestAllTypes::BAZ); 950fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::optional_foreign_enum_extension, unittest::FOREIGN_BAZ ); 951fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::optional_import_enum_extension , unittest_import::IMPORT_BAZ); 952fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 953fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::optional_string_piece_extension, "124"); 954fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::optional_cord_extension, "125"); 955fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 956fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // ----------------------------------------------------------------- 957fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 958fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_int32_extension , 201); 959fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_int64_extension , 202); 960fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_uint32_extension , 203); 961fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_uint64_extension , 204); 962fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_sint32_extension , 205); 963fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_sint64_extension , 206); 964fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_fixed32_extension , 207); 965fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_fixed64_extension , 208); 966fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_sfixed32_extension, 209); 967fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_sfixed64_extension, 210); 968fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_float_extension , 211); 969fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_double_extension , 212); 970fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_bool_extension , true); 971fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_string_extension , "215"); 972fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_bytes_extension , "216"); 973fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 974fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeatedgroup_extension )->set_a(217); 975fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_nested_message_extension )->set_bb(218); 976fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_foreign_message_extension)->set_c(219); 977fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_import_message_extension )->set_d(220); 978fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 979fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_nested_enum_extension , unittest::TestAllTypes::BAR); 980fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_foreign_enum_extension, unittest::FOREIGN_BAR ); 981fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_import_enum_extension , unittest_import::IMPORT_BAR); 982fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 983fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_string_piece_extension, "224"); 984fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_cord_extension, "225"); 985fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 986fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Add a second one of each field. 987fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_int32_extension , 301); 988fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_int64_extension , 302); 989fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_uint32_extension , 303); 990fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_uint64_extension , 304); 991fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_sint32_extension , 305); 992fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_sint64_extension , 306); 993fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_fixed32_extension , 307); 994fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_fixed64_extension , 308); 995fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_sfixed32_extension, 309); 996fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_sfixed64_extension, 310); 997fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_float_extension , 311); 998fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_double_extension , 312); 999fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_bool_extension , false); 1000fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_string_extension , "315"); 1001fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_bytes_extension , "316"); 1002fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1003fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeatedgroup_extension )->set_a(317); 1004fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_nested_message_extension )->set_bb(318); 1005fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_foreign_message_extension)->set_c(319); 1006fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_import_message_extension )->set_d(320); 1007fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1008fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_nested_enum_extension , unittest::TestAllTypes::BAZ); 1009fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_foreign_enum_extension, unittest::FOREIGN_BAZ ); 1010fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_import_enum_extension , unittest_import::IMPORT_BAZ); 1011fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1012fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_string_piece_extension, "324"); 1013fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::repeated_cord_extension, "325"); 1014fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1015fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // ----------------------------------------------------------------- 1016fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1017fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::default_int32_extension , 401); 1018fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::default_int64_extension , 402); 1019fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::default_uint32_extension , 403); 1020fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::default_uint64_extension , 404); 1021fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::default_sint32_extension , 405); 1022fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::default_sint64_extension , 406); 1023fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::default_fixed32_extension , 407); 1024fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::default_fixed64_extension , 408); 1025fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::default_sfixed32_extension, 409); 1026fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::default_sfixed64_extension, 410); 1027fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::default_float_extension , 411); 1028fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::default_double_extension , 412); 1029fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::default_bool_extension , false); 1030fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::default_string_extension , "415"); 1031fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::default_bytes_extension , "416"); 1032fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1033fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::default_nested_enum_extension , unittest::TestAllTypes::FOO); 1034fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::default_foreign_enum_extension, unittest::FOREIGN_FOO ); 1035fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::default_import_enum_extension , unittest_import::IMPORT_FOO); 1036fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1037fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::default_string_piece_extension, "424"); 1038fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::default_cord_extension, "425"); 1039fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 1040fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1041fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 1042fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1043fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::SetAllFieldsAndExtensions( 1044fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville unittest::TestFieldOrderings* message) { 1045fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville GOOGLE_CHECK(message); 1046fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_my_int(1); 1047fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_my_string("foo"); 1048fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->set_my_float(1.0); 1049fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::my_extension_int, 23); 1050fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::my_extension_string, "bar"); 1051fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 1052fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1053fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 1054fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1055fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ModifyRepeatedExtensions(unittest::TestAllExtensions* message) { 1056fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::repeated_int32_extension , 1, 501); 1057fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::repeated_int64_extension , 1, 502); 1058fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::repeated_uint32_extension , 1, 503); 1059fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::repeated_uint64_extension , 1, 504); 1060fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::repeated_sint32_extension , 1, 505); 1061fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::repeated_sint64_extension , 1, 506); 1062fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::repeated_fixed32_extension , 1, 507); 1063fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::repeated_fixed64_extension , 1, 508); 1064fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::repeated_sfixed32_extension, 1, 509); 1065fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::repeated_sfixed64_extension, 1, 510); 1066fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::repeated_float_extension , 1, 511); 1067fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::repeated_double_extension , 1, 512); 1068fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::repeated_bool_extension , 1, true); 1069fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::repeated_string_extension , 1, "515"); 1070fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::repeated_bytes_extension , 1, "516"); 1071fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1072fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->MutableExtension(unittest::repeatedgroup_extension , 1)->set_a(517); 1073fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->MutableExtension(unittest::repeated_nested_message_extension , 1)->set_bb(518); 1074fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->MutableExtension(unittest::repeated_foreign_message_extension, 1)->set_c(519); 1075fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->MutableExtension(unittest::repeated_import_message_extension , 1)->set_d(520); 1076fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1077fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::repeated_nested_enum_extension , 1, unittest::TestAllTypes::FOO); 1078fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::repeated_foreign_enum_extension, 1, unittest::FOREIGN_FOO ); 1079fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::repeated_import_enum_extension , 1, unittest_import::IMPORT_FOO); 1080fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1081fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::repeated_string_piece_extension, 1, "524"); 1082fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::repeated_cord_extension, 1, "525"); 1083fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 1084fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1085fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 1086fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1087fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ExpectAllExtensionsSet( 1088fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const unittest::TestAllExtensions& message) { 1089fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optional_int32_extension )); 1090fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optional_int64_extension )); 1091fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optional_uint32_extension )); 1092fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optional_uint64_extension )); 1093fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optional_sint32_extension )); 1094fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optional_sint64_extension )); 1095fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optional_fixed32_extension )); 1096fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optional_fixed64_extension )); 1097fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optional_sfixed32_extension)); 1098fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optional_sfixed64_extension)); 1099fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optional_float_extension )); 1100fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optional_double_extension )); 1101fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optional_bool_extension )); 1102fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optional_string_extension )); 1103fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optional_bytes_extension )); 1104fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1105fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optionalgroup_extension )); 1106fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optional_nested_message_extension )); 1107fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optional_foreign_message_extension)); 1108fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optional_import_message_extension )); 1109fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1110fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.GetExtension(unittest::optionalgroup_extension ).has_a()); 1111fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.GetExtension(unittest::optional_nested_message_extension ).has_bb()); 1112fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.GetExtension(unittest::optional_foreign_message_extension).has_c()); 1113fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.GetExtension(unittest::optional_import_message_extension ).has_d()); 1114fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1115fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optional_nested_enum_extension )); 1116fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optional_foreign_enum_extension)); 1117fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optional_import_enum_extension )); 1118fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1119fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optional_string_piece_extension)); 1120fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::optional_cord_extension)); 1121fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1122fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(101 , message.GetExtension(unittest::optional_int32_extension )); 1123fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(102 , message.GetExtension(unittest::optional_int64_extension )); 1124fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(103 , message.GetExtension(unittest::optional_uint32_extension )); 1125fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(104 , message.GetExtension(unittest::optional_uint64_extension )); 1126fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(105 , message.GetExtension(unittest::optional_sint32_extension )); 1127fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(106 , message.GetExtension(unittest::optional_sint64_extension )); 1128fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(107 , message.GetExtension(unittest::optional_fixed32_extension )); 1129fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(108 , message.GetExtension(unittest::optional_fixed64_extension )); 1130fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(109 , message.GetExtension(unittest::optional_sfixed32_extension)); 1131fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(110 , message.GetExtension(unittest::optional_sfixed64_extension)); 1132fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(111 , message.GetExtension(unittest::optional_float_extension )); 1133fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(112 , message.GetExtension(unittest::optional_double_extension )); 1134fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , message.GetExtension(unittest::optional_bool_extension )); 1135fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("115", message.GetExtension(unittest::optional_string_extension )); 1136fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("116", message.GetExtension(unittest::optional_bytes_extension )); 1137fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1138fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(117, message.GetExtension(unittest::optionalgroup_extension ).a()); 1139fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(118, message.GetExtension(unittest::optional_nested_message_extension ).bb()); 1140fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(119, message.GetExtension(unittest::optional_foreign_message_extension).c()); 1141fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(120, message.GetExtension(unittest::optional_import_message_extension ).d()); 1142fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1143fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::TestAllTypes::BAZ, message.GetExtension(unittest::optional_nested_enum_extension )); 1144fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_BAZ , message.GetExtension(unittest::optional_foreign_enum_extension)); 1145fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest_import::IMPORT_BAZ, message.GetExtension(unittest::optional_import_enum_extension )); 1146fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1147fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("124", message.GetExtension(unittest::optional_string_piece_extension)); 1148fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("125", message.GetExtension(unittest::optional_cord_extension)); 1149fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1150fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // ----------------------------------------------------------------- 1151fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1152fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_int32_extension )); 1153fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_int64_extension )); 1154fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_uint32_extension )); 1155fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_uint64_extension )); 1156fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sint32_extension )); 1157fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sint64_extension )); 1158fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_fixed32_extension )); 1159fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_fixed64_extension )); 1160fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sfixed32_extension)); 1161fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sfixed64_extension)); 1162fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_float_extension )); 1163fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_double_extension )); 1164fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_bool_extension )); 1165fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_string_extension )); 1166fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_bytes_extension )); 1167fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1168fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeatedgroup_extension )); 1169fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_message_extension )); 1170fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_message_extension)); 1171fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_message_extension )); 1172fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_enum_extension )); 1173fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_enum_extension )); 1174fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_enum_extension )); 1175fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1176fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_string_piece_extension)); 1177fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_cord_extension)); 1178fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1179fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(201 , message.GetExtension(unittest::repeated_int32_extension , 0)); 1180fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(202 , message.GetExtension(unittest::repeated_int64_extension , 0)); 1181fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(203 , message.GetExtension(unittest::repeated_uint32_extension , 0)); 1182fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(204 , message.GetExtension(unittest::repeated_uint64_extension , 0)); 1183fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(205 , message.GetExtension(unittest::repeated_sint32_extension , 0)); 1184fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(206 , message.GetExtension(unittest::repeated_sint64_extension , 0)); 1185fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(207 , message.GetExtension(unittest::repeated_fixed32_extension , 0)); 1186fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(208 , message.GetExtension(unittest::repeated_fixed64_extension , 0)); 1187fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(209 , message.GetExtension(unittest::repeated_sfixed32_extension, 0)); 1188fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(210 , message.GetExtension(unittest::repeated_sfixed64_extension, 0)); 1189fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(211 , message.GetExtension(unittest::repeated_float_extension , 0)); 1190fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(212 , message.GetExtension(unittest::repeated_double_extension , 0)); 1191fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , message.GetExtension(unittest::repeated_bool_extension , 0)); 1192fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("215", message.GetExtension(unittest::repeated_string_extension , 0)); 1193fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("216", message.GetExtension(unittest::repeated_bytes_extension , 0)); 1194fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1195fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(217, message.GetExtension(unittest::repeatedgroup_extension , 0).a()); 1196fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(218, message.GetExtension(unittest::repeated_nested_message_extension , 0).bb()); 1197fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(219, message.GetExtension(unittest::repeated_foreign_message_extension, 0).c()); 1198fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(220, message.GetExtension(unittest::repeated_import_message_extension , 0).d()); 1199fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1200fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::TestAllTypes::BAR, message.GetExtension(unittest::repeated_nested_enum_extension , 0)); 1201fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_BAR , message.GetExtension(unittest::repeated_foreign_enum_extension, 0)); 1202fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest_import::IMPORT_BAR, message.GetExtension(unittest::repeated_import_enum_extension , 0)); 1203fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1204fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("224", message.GetExtension(unittest::repeated_string_piece_extension, 0)); 1205fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("225", message.GetExtension(unittest::repeated_cord_extension, 0)); 1206fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1207fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(301 , message.GetExtension(unittest::repeated_int32_extension , 1)); 1208fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(302 , message.GetExtension(unittest::repeated_int64_extension , 1)); 1209fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(303 , message.GetExtension(unittest::repeated_uint32_extension , 1)); 1210fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(304 , message.GetExtension(unittest::repeated_uint64_extension , 1)); 1211fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(305 , message.GetExtension(unittest::repeated_sint32_extension , 1)); 1212fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(306 , message.GetExtension(unittest::repeated_sint64_extension , 1)); 1213fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(307 , message.GetExtension(unittest::repeated_fixed32_extension , 1)); 1214fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(308 , message.GetExtension(unittest::repeated_fixed64_extension , 1)); 1215fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(309 , message.GetExtension(unittest::repeated_sfixed32_extension, 1)); 1216fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(310 , message.GetExtension(unittest::repeated_sfixed64_extension, 1)); 1217fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(311 , message.GetExtension(unittest::repeated_float_extension , 1)); 1218fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(312 , message.GetExtension(unittest::repeated_double_extension , 1)); 1219fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(false, message.GetExtension(unittest::repeated_bool_extension , 1)); 1220fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("315", message.GetExtension(unittest::repeated_string_extension , 1)); 1221fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("316", message.GetExtension(unittest::repeated_bytes_extension , 1)); 1222fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1223fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(317, message.GetExtension(unittest::repeatedgroup_extension , 1).a()); 1224fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(318, message.GetExtension(unittest::repeated_nested_message_extension , 1).bb()); 1225fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(319, message.GetExtension(unittest::repeated_foreign_message_extension, 1).c()); 1226fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(320, message.GetExtension(unittest::repeated_import_message_extension , 1).d()); 1227fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1228fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::TestAllTypes::BAZ, message.GetExtension(unittest::repeated_nested_enum_extension , 1)); 1229fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_BAZ , message.GetExtension(unittest::repeated_foreign_enum_extension, 1)); 1230fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest_import::IMPORT_BAZ, message.GetExtension(unittest::repeated_import_enum_extension , 1)); 1231fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1232fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("324", message.GetExtension(unittest::repeated_string_piece_extension, 1)); 1233fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("325", message.GetExtension(unittest::repeated_cord_extension, 1)); 1234fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1235fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // ----------------------------------------------------------------- 1236fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1237fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::default_int32_extension )); 1238fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::default_int64_extension )); 1239fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::default_uint32_extension )); 1240fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::default_uint64_extension )); 1241fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::default_sint32_extension )); 1242fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::default_sint64_extension )); 1243fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::default_fixed32_extension )); 1244fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::default_fixed64_extension )); 1245fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::default_sfixed32_extension)); 1246fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::default_sfixed64_extension)); 1247fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::default_float_extension )); 1248fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::default_double_extension )); 1249fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::default_bool_extension )); 1250fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::default_string_extension )); 1251fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::default_bytes_extension )); 1252fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1253fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::default_nested_enum_extension )); 1254fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::default_foreign_enum_extension)); 1255fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::default_import_enum_extension )); 1256fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1257fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::default_string_piece_extension)); 1258fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(message.HasExtension(unittest::default_cord_extension)); 1259fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1260fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(401 , message.GetExtension(unittest::default_int32_extension )); 1261fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(402 , message.GetExtension(unittest::default_int64_extension )); 1262fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(403 , message.GetExtension(unittest::default_uint32_extension )); 1263fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(404 , message.GetExtension(unittest::default_uint64_extension )); 1264fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(405 , message.GetExtension(unittest::default_sint32_extension )); 1265fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(406 , message.GetExtension(unittest::default_sint64_extension )); 1266fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(407 , message.GetExtension(unittest::default_fixed32_extension )); 1267fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(408 , message.GetExtension(unittest::default_fixed64_extension )); 1268fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(409 , message.GetExtension(unittest::default_sfixed32_extension)); 1269fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(410 , message.GetExtension(unittest::default_sfixed64_extension)); 1270fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(411 , message.GetExtension(unittest::default_float_extension )); 1271fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(412 , message.GetExtension(unittest::default_double_extension )); 1272fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(false, message.GetExtension(unittest::default_bool_extension )); 1273fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("415", message.GetExtension(unittest::default_string_extension )); 1274fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("416", message.GetExtension(unittest::default_bytes_extension )); 1275fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1276fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::TestAllTypes::FOO, message.GetExtension(unittest::default_nested_enum_extension )); 1277fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_FOO , message.GetExtension(unittest::default_foreign_enum_extension)); 1278fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest_import::IMPORT_FOO, message.GetExtension(unittest::default_import_enum_extension )); 1279fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1280fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("424", message.GetExtension(unittest::default_string_piece_extension)); 1281fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("425", message.GetExtension(unittest::default_cord_extension)); 1282fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 1283fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1284fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 1285fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1286fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ExpectExtensionsClear( 1287fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const unittest::TestAllExtensions& message) { 1288fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville string serialized; 1289fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_TRUE(message.SerializeToString(&serialized)); 1290fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("", serialized); 1291fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ByteSize()); 1292fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1293fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // has_blah() should initially be false for all optional fields. 1294fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optional_int32_extension )); 1295fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optional_int64_extension )); 1296fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optional_uint32_extension )); 1297fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optional_uint64_extension )); 1298fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optional_sint32_extension )); 1299fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optional_sint64_extension )); 1300fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optional_fixed32_extension )); 1301fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optional_fixed64_extension )); 1302fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optional_sfixed32_extension)); 1303fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optional_sfixed64_extension)); 1304fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optional_float_extension )); 1305fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optional_double_extension )); 1306fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optional_bool_extension )); 1307fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optional_string_extension )); 1308fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optional_bytes_extension )); 1309fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1310fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optionalgroup_extension )); 1311fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optional_nested_message_extension )); 1312fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optional_foreign_message_extension)); 1313fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optional_import_message_extension )); 1314fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1315fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optional_nested_enum_extension )); 1316fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optional_foreign_enum_extension)); 1317fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optional_import_enum_extension )); 1318fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1319fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optional_string_piece_extension)); 1320fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::optional_cord_extension)); 1321fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1322fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Optional fields without defaults are set to zero or something like it. 1323fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.GetExtension(unittest::optional_int32_extension )); 1324fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.GetExtension(unittest::optional_int64_extension )); 1325fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.GetExtension(unittest::optional_uint32_extension )); 1326fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.GetExtension(unittest::optional_uint64_extension )); 1327fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.GetExtension(unittest::optional_sint32_extension )); 1328fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.GetExtension(unittest::optional_sint64_extension )); 1329fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.GetExtension(unittest::optional_fixed32_extension )); 1330fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.GetExtension(unittest::optional_fixed64_extension )); 1331fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.GetExtension(unittest::optional_sfixed32_extension)); 1332fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.GetExtension(unittest::optional_sfixed64_extension)); 1333fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.GetExtension(unittest::optional_float_extension )); 1334fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , message.GetExtension(unittest::optional_double_extension )); 1335fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(false, message.GetExtension(unittest::optional_bool_extension )); 1336fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("" , message.GetExtension(unittest::optional_string_extension )); 1337fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("" , message.GetExtension(unittest::optional_bytes_extension )); 1338fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1339fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Embedded messages should also be clear. 1340fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.GetExtension(unittest::optionalgroup_extension ).has_a()); 1341fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.GetExtension(unittest::optional_nested_message_extension ).has_bb()); 1342fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.GetExtension(unittest::optional_foreign_message_extension).has_c()); 1343fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.GetExtension(unittest::optional_import_message_extension ).has_d()); 1344fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1345fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.GetExtension(unittest::optionalgroup_extension ).a()); 1346fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.GetExtension(unittest::optional_nested_message_extension ).bb()); 1347fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.GetExtension(unittest::optional_foreign_message_extension).c()); 1348fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.GetExtension(unittest::optional_import_message_extension ).d()); 1349fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1350fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Enums without defaults are set to the first value in the enum. 1351fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::TestAllTypes::FOO, message.GetExtension(unittest::optional_nested_enum_extension )); 1352fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_FOO , message.GetExtension(unittest::optional_foreign_enum_extension)); 1353fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest_import::IMPORT_FOO, message.GetExtension(unittest::optional_import_enum_extension )); 1354fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1355fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("", message.GetExtension(unittest::optional_string_piece_extension)); 1356fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("", message.GetExtension(unittest::optional_cord_extension)); 1357fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1358fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Repeated fields are empty. 1359fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_int32_extension )); 1360fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_int64_extension )); 1361fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_uint32_extension )); 1362fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_uint64_extension )); 1363fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_sint32_extension )); 1364fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_sint64_extension )); 1365fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_fixed32_extension )); 1366fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_fixed64_extension )); 1367fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_sfixed32_extension)); 1368fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_sfixed64_extension)); 1369fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_float_extension )); 1370fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_double_extension )); 1371fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_bool_extension )); 1372fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_string_extension )); 1373fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_bytes_extension )); 1374fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1375fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeatedgroup_extension )); 1376fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_nested_message_extension )); 1377fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_foreign_message_extension)); 1378fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_import_message_extension )); 1379fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_nested_enum_extension )); 1380fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_foreign_enum_extension )); 1381fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_import_enum_extension )); 1382fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1383fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_string_piece_extension)); 1384fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_cord_extension)); 1385fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1386fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // has_blah() should also be false for all default fields. 1387fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::default_int32_extension )); 1388fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::default_int64_extension )); 1389fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::default_uint32_extension )); 1390fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::default_uint64_extension )); 1391fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::default_sint32_extension )); 1392fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::default_sint64_extension )); 1393fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::default_fixed32_extension )); 1394fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::default_fixed64_extension )); 1395fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::default_sfixed32_extension)); 1396fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::default_sfixed64_extension)); 1397fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::default_float_extension )); 1398fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::default_double_extension )); 1399fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::default_bool_extension )); 1400fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::default_string_extension )); 1401fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::default_bytes_extension )); 1402fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1403fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::default_nested_enum_extension )); 1404fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::default_foreign_enum_extension)); 1405fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::default_import_enum_extension )); 1406fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1407fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::default_string_piece_extension)); 1408fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(message.HasExtension(unittest::default_cord_extension)); 1409fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1410fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Fields with defaults have their default values (duh). 1411fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 41 , message.GetExtension(unittest::default_int32_extension )); 1412fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 42 , message.GetExtension(unittest::default_int64_extension )); 1413fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 43 , message.GetExtension(unittest::default_uint32_extension )); 1414fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 44 , message.GetExtension(unittest::default_uint64_extension )); 1415fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(-45 , message.GetExtension(unittest::default_sint32_extension )); 1416fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 46 , message.GetExtension(unittest::default_sint64_extension )); 1417fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 47 , message.GetExtension(unittest::default_fixed32_extension )); 1418fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 48 , message.GetExtension(unittest::default_fixed64_extension )); 1419fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 49 , message.GetExtension(unittest::default_sfixed32_extension)); 1420fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(-50 , message.GetExtension(unittest::default_sfixed64_extension)); 1421fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 51.5 , message.GetExtension(unittest::default_float_extension )); 1422fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 52e3 , message.GetExtension(unittest::default_double_extension )); 1423fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , message.GetExtension(unittest::default_bool_extension )); 1424fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("hello", message.GetExtension(unittest::default_string_extension )); 1425fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("world", message.GetExtension(unittest::default_bytes_extension )); 1426fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1427fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::TestAllTypes::BAR, message.GetExtension(unittest::default_nested_enum_extension )); 1428fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_BAR , message.GetExtension(unittest::default_foreign_enum_extension)); 1429fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest_import::IMPORT_BAR, message.GetExtension(unittest::default_import_enum_extension )); 1430fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1431fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("abc", message.GetExtension(unittest::default_string_piece_extension)); 1432fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("123", message.GetExtension(unittest::default_cord_extension)); 1433fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 1434fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1435fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 1436fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1437fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ExpectRepeatedExtensionsModified( 1438fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const unittest::TestAllExtensions& message) { 1439fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // ModifyRepeatedFields only sets the second repeated element of each 1440fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // field. In addition to verifying this, we also verify that the first 1441fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // element and size were *not* modified. 1442fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_int32_extension )); 1443fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_int64_extension )); 1444fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_uint32_extension )); 1445fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_uint64_extension )); 1446fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sint32_extension )); 1447fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sint64_extension )); 1448fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_fixed32_extension )); 1449fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_fixed64_extension )); 1450fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sfixed32_extension)); 1451fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sfixed64_extension)); 1452fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_float_extension )); 1453fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_double_extension )); 1454fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_bool_extension )); 1455fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_string_extension )); 1456fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_bytes_extension )); 1457fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1458fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeatedgroup_extension )); 1459fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_message_extension )); 1460fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_message_extension)); 1461fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_message_extension )); 1462fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_enum_extension )); 1463fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_enum_extension )); 1464fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_enum_extension )); 1465fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1466fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_string_piece_extension)); 1467fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_cord_extension)); 1468fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1469fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(201 , message.GetExtension(unittest::repeated_int32_extension , 0)); 1470fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(202 , message.GetExtension(unittest::repeated_int64_extension , 0)); 1471fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(203 , message.GetExtension(unittest::repeated_uint32_extension , 0)); 1472fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(204 , message.GetExtension(unittest::repeated_uint64_extension , 0)); 1473fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(205 , message.GetExtension(unittest::repeated_sint32_extension , 0)); 1474fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(206 , message.GetExtension(unittest::repeated_sint64_extension , 0)); 1475fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(207 , message.GetExtension(unittest::repeated_fixed32_extension , 0)); 1476fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(208 , message.GetExtension(unittest::repeated_fixed64_extension , 0)); 1477fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(209 , message.GetExtension(unittest::repeated_sfixed32_extension, 0)); 1478fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(210 , message.GetExtension(unittest::repeated_sfixed64_extension, 0)); 1479fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(211 , message.GetExtension(unittest::repeated_float_extension , 0)); 1480fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(212 , message.GetExtension(unittest::repeated_double_extension , 0)); 1481fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , message.GetExtension(unittest::repeated_bool_extension , 0)); 1482fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("215", message.GetExtension(unittest::repeated_string_extension , 0)); 1483fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("216", message.GetExtension(unittest::repeated_bytes_extension , 0)); 1484fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1485fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(217, message.GetExtension(unittest::repeatedgroup_extension , 0).a()); 1486fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(218, message.GetExtension(unittest::repeated_nested_message_extension , 0).bb()); 1487fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(219, message.GetExtension(unittest::repeated_foreign_message_extension, 0).c()); 1488fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(220, message.GetExtension(unittest::repeated_import_message_extension , 0).d()); 1489fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1490fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::TestAllTypes::BAR, message.GetExtension(unittest::repeated_nested_enum_extension , 0)); 1491fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_BAR , message.GetExtension(unittest::repeated_foreign_enum_extension, 0)); 1492fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest_import::IMPORT_BAR, message.GetExtension(unittest::repeated_import_enum_extension , 0)); 1493fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1494fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("224", message.GetExtension(unittest::repeated_string_piece_extension, 0)); 1495fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("225", message.GetExtension(unittest::repeated_cord_extension, 0)); 1496fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1497fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Actually verify the second (modified) elements now. 1498fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(501 , message.GetExtension(unittest::repeated_int32_extension , 1)); 1499fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(502 , message.GetExtension(unittest::repeated_int64_extension , 1)); 1500fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(503 , message.GetExtension(unittest::repeated_uint32_extension , 1)); 1501fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(504 , message.GetExtension(unittest::repeated_uint64_extension , 1)); 1502fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(505 , message.GetExtension(unittest::repeated_sint32_extension , 1)); 1503fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(506 , message.GetExtension(unittest::repeated_sint64_extension , 1)); 1504fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(507 , message.GetExtension(unittest::repeated_fixed32_extension , 1)); 1505fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(508 , message.GetExtension(unittest::repeated_fixed64_extension , 1)); 1506fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(509 , message.GetExtension(unittest::repeated_sfixed32_extension, 1)); 1507fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(510 , message.GetExtension(unittest::repeated_sfixed64_extension, 1)); 1508fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(511 , message.GetExtension(unittest::repeated_float_extension , 1)); 1509fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(512 , message.GetExtension(unittest::repeated_double_extension , 1)); 1510fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , message.GetExtension(unittest::repeated_bool_extension , 1)); 1511fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("515", message.GetExtension(unittest::repeated_string_extension , 1)); 1512fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("516", message.GetExtension(unittest::repeated_bytes_extension , 1)); 1513fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1514fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(517, message.GetExtension(unittest::repeatedgroup_extension , 1).a()); 1515fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(518, message.GetExtension(unittest::repeated_nested_message_extension , 1).bb()); 1516fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(519, message.GetExtension(unittest::repeated_foreign_message_extension, 1).c()); 1517fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(520, message.GetExtension(unittest::repeated_import_message_extension , 1).d()); 1518fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1519fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::TestAllTypes::FOO, message.GetExtension(unittest::repeated_nested_enum_extension , 1)); 1520fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_FOO , message.GetExtension(unittest::repeated_foreign_enum_extension, 1)); 1521fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest_import::IMPORT_FOO, message.GetExtension(unittest::repeated_import_enum_extension , 1)); 1522fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1523fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("524", message.GetExtension(unittest::repeated_string_piece_extension, 1)); 1524fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("525", message.GetExtension(unittest::repeated_cord_extension, 1)); 1525fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 1526fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1527fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 1528fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1529fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::SetPackedExtensions(unittest::TestPackedExtensions* message) { 1530fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_int32_extension , 601); 1531fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_int64_extension , 602); 1532fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_uint32_extension , 603); 1533fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_uint64_extension , 604); 1534fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_sint32_extension , 605); 1535fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_sint64_extension , 606); 1536fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_fixed32_extension , 607); 1537fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_fixed64_extension , 608); 1538fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_sfixed32_extension, 609); 1539fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_sfixed64_extension, 610); 1540fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_float_extension , 611); 1541fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_double_extension , 612); 1542fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_bool_extension , true); 1543fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_enum_extension, unittest::FOREIGN_BAR); 1544fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // add a second one of each field 1545fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_int32_extension , 701); 1546fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_int64_extension , 702); 1547fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_uint32_extension , 703); 1548fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_uint64_extension , 704); 1549fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_sint32_extension , 705); 1550fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_sint64_extension , 706); 1551fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_fixed32_extension , 707); 1552fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_fixed64_extension , 708); 1553fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_sfixed32_extension, 709); 1554fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_sfixed64_extension, 710); 1555fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_float_extension , 711); 1556fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_double_extension , 712); 1557fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_bool_extension , false); 1558fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->AddExtension(unittest::packed_enum_extension, unittest::FOREIGN_BAZ); 1559fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 1560fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1561fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 1562fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1563fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ModifyPackedExtensions(unittest::TestPackedExtensions* message) { 1564fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::packed_int32_extension , 1, 801); 1565fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::packed_int64_extension , 1, 802); 1566fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::packed_uint32_extension , 1, 803); 1567fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::packed_uint64_extension , 1, 804); 1568fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::packed_sint32_extension , 1, 805); 1569fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::packed_sint64_extension , 1, 806); 1570fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::packed_fixed32_extension , 1, 807); 1571fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::packed_fixed64_extension , 1, 808); 1572fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::packed_sfixed32_extension, 1, 809); 1573fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::packed_sfixed64_extension, 1, 810); 1574fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::packed_float_extension , 1, 811); 1575fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::packed_double_extension , 1, 812); 1576fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::packed_bool_extension , 1, true); 1577fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message->SetExtension(unittest::packed_enum_extension , 1, 1578fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville unittest::FOREIGN_FOO); 1579fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 1580fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1581fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 1582fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1583fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ExpectPackedExtensionsSet( 1584fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const unittest::TestPackedExtensions& message) { 1585fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_int32_extension )); 1586fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_int64_extension )); 1587fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_uint32_extension )); 1588fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_uint64_extension )); 1589fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sint32_extension )); 1590fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sint64_extension )); 1591fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_fixed32_extension )); 1592fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_fixed64_extension )); 1593fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sfixed32_extension)); 1594fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sfixed64_extension)); 1595fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_float_extension )); 1596fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_double_extension )); 1597fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_bool_extension )); 1598fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_enum_extension )); 1599fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1600fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(601 , message.GetExtension(unittest::packed_int32_extension , 0)); 1601fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(602 , message.GetExtension(unittest::packed_int64_extension , 0)); 1602fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(603 , message.GetExtension(unittest::packed_uint32_extension , 0)); 1603fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(604 , message.GetExtension(unittest::packed_uint64_extension , 0)); 1604fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(605 , message.GetExtension(unittest::packed_sint32_extension , 0)); 1605fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(606 , message.GetExtension(unittest::packed_sint64_extension , 0)); 1606fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(607 , message.GetExtension(unittest::packed_fixed32_extension , 0)); 1607fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(608 , message.GetExtension(unittest::packed_fixed64_extension , 0)); 1608fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(609 , message.GetExtension(unittest::packed_sfixed32_extension, 0)); 1609fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(610 , message.GetExtension(unittest::packed_sfixed64_extension, 0)); 1610fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(611 , message.GetExtension(unittest::packed_float_extension , 0)); 1611fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(612 , message.GetExtension(unittest::packed_double_extension , 0)); 1612fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , message.GetExtension(unittest::packed_bool_extension , 0)); 1613fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_BAR, 1614fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.GetExtension(unittest::packed_enum_extension, 0)); 1615fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(701 , message.GetExtension(unittest::packed_int32_extension , 1)); 1616fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(702 , message.GetExtension(unittest::packed_int64_extension , 1)); 1617fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(703 , message.GetExtension(unittest::packed_uint32_extension , 1)); 1618fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(704 , message.GetExtension(unittest::packed_uint64_extension , 1)); 1619fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(705 , message.GetExtension(unittest::packed_sint32_extension , 1)); 1620fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(706 , message.GetExtension(unittest::packed_sint64_extension , 1)); 1621fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(707 , message.GetExtension(unittest::packed_fixed32_extension , 1)); 1622fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(708 , message.GetExtension(unittest::packed_fixed64_extension , 1)); 1623fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(709 , message.GetExtension(unittest::packed_sfixed32_extension, 1)); 1624fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(710 , message.GetExtension(unittest::packed_sfixed64_extension, 1)); 1625fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(711 , message.GetExtension(unittest::packed_float_extension , 1)); 1626fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(712 , message.GetExtension(unittest::packed_double_extension , 1)); 1627fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(false, message.GetExtension(unittest::packed_bool_extension , 1)); 1628fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_BAZ, 1629fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.GetExtension(unittest::packed_enum_extension, 1)); 1630fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 1631fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1632fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 1633fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1634fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ExpectPackedExtensionsClear( 1635fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const unittest::TestPackedExtensions& message) { 1636fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::packed_int32_extension )); 1637fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::packed_int64_extension )); 1638fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::packed_uint32_extension )); 1639fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::packed_uint64_extension )); 1640fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::packed_sint32_extension )); 1641fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::packed_sint64_extension )); 1642fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::packed_fixed32_extension )); 1643fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::packed_fixed64_extension )); 1644fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::packed_sfixed32_extension)); 1645fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::packed_sfixed64_extension)); 1646fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::packed_float_extension )); 1647fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::packed_double_extension )); 1648fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::packed_bool_extension )); 1649fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, message.ExtensionSize(unittest::packed_enum_extension )); 1650fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 1651fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1652fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 1653fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1654fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ExpectPackedExtensionsModified( 1655fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const unittest::TestPackedExtensions& message) { 1656fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_int32_extension )); 1657fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_int64_extension )); 1658fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_uint32_extension )); 1659fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_uint64_extension )); 1660fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sint32_extension )); 1661fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sint64_extension )); 1662fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_fixed32_extension )); 1663fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_fixed64_extension )); 1664fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sfixed32_extension)); 1665fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sfixed64_extension)); 1666fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_float_extension )); 1667fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_double_extension )); 1668fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_bool_extension )); 1669fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::packed_enum_extension )); 1670fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(601 , message.GetExtension(unittest::packed_int32_extension , 0)); 1671fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(602 , message.GetExtension(unittest::packed_int64_extension , 0)); 1672fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(603 , message.GetExtension(unittest::packed_uint32_extension , 0)); 1673fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(604 , message.GetExtension(unittest::packed_uint64_extension , 0)); 1674fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(605 , message.GetExtension(unittest::packed_sint32_extension , 0)); 1675fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(606 , message.GetExtension(unittest::packed_sint64_extension , 0)); 1676fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(607 , message.GetExtension(unittest::packed_fixed32_extension , 0)); 1677fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(608 , message.GetExtension(unittest::packed_fixed64_extension , 0)); 1678fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(609 , message.GetExtension(unittest::packed_sfixed32_extension, 0)); 1679fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(610 , message.GetExtension(unittest::packed_sfixed64_extension, 0)); 1680fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(611 , message.GetExtension(unittest::packed_float_extension , 0)); 1681fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(612 , message.GetExtension(unittest::packed_double_extension , 0)); 1682fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , message.GetExtension(unittest::packed_bool_extension , 0)); 1683fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_BAR, 1684fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.GetExtension(unittest::packed_enum_extension, 0)); 1685fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1686fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Actually verify the second (modified) elements now. 1687fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(801 , message.GetExtension(unittest::packed_int32_extension , 1)); 1688fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(802 , message.GetExtension(unittest::packed_int64_extension , 1)); 1689fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(803 , message.GetExtension(unittest::packed_uint32_extension , 1)); 1690fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(804 , message.GetExtension(unittest::packed_uint64_extension , 1)); 1691fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(805 , message.GetExtension(unittest::packed_sint32_extension , 1)); 1692fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(806 , message.GetExtension(unittest::packed_sint64_extension , 1)); 1693fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(807 , message.GetExtension(unittest::packed_fixed32_extension , 1)); 1694fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(808 , message.GetExtension(unittest::packed_fixed64_extension , 1)); 1695fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(809 , message.GetExtension(unittest::packed_sfixed32_extension, 1)); 1696fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(810 , message.GetExtension(unittest::packed_sfixed64_extension, 1)); 1697fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(811 , message.GetExtension(unittest::packed_float_extension , 1)); 1698fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(812 , message.GetExtension(unittest::packed_double_extension , 1)); 1699fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , message.GetExtension(unittest::packed_bool_extension , 1)); 1700fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_FOO, 1701fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.GetExtension(unittest::packed_enum_extension, 1)); 1702fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 1703fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1704fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 1705fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1706fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ExpectAllFieldsAndExtensionsInOrder(const string& serialized) { 1707fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // We set each field individually, serialize separately, and concatenate all 1708fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // the strings in canonical order to determine the expected serialization. 1709fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville string expected; 1710fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville unittest::TestFieldOrderings message; 1711fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.set_my_int(1); // Field 1. 1712fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.AppendToString(&expected); 1713fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.Clear(); 1714fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.SetExtension(unittest::my_extension_int, 23); // Field 5. 1715fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.AppendToString(&expected); 1716fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.Clear(); 1717fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.set_my_string("foo"); // Field 11. 1718fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.AppendToString(&expected); 1719fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.Clear(); 1720fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.SetExtension(unittest::my_extension_string, "bar"); // Field 50. 1721fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.AppendToString(&expected); 1722fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.Clear(); 1723fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.set_my_float(1.0); // Field 101. 1724fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.AppendToString(&expected); 1725fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message.Clear(); 1726fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1727fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // We don't EXPECT_EQ() since we don't want to print raw bytes to stdout. 1728fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(serialized == expected); 1729fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 1730fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1731fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ExpectLastRepeatedsRemoved( 1732fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const unittest::TestAllTypes& message) { 1733fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeated_int32_size ()); 1734fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeated_int64_size ()); 1735fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeated_uint32_size ()); 1736fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeated_uint64_size ()); 1737fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeated_sint32_size ()); 1738fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeated_sint64_size ()); 1739fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeated_fixed32_size ()); 1740fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeated_fixed64_size ()); 1741fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeated_sfixed32_size()); 1742fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeated_sfixed64_size()); 1743fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeated_float_size ()); 1744fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeated_double_size ()); 1745fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeated_bool_size ()); 1746fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeated_string_size ()); 1747fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeated_bytes_size ()); 1748fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1749fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeatedgroup_size ()); 1750fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeated_nested_message_size ()); 1751fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeated_foreign_message_size()); 1752fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeated_import_message_size ()); 1753fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeated_nested_enum_size ()); 1754fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeated_foreign_enum_size ()); 1755fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeated_import_enum_size ()); 1756fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1757fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#ifndef PROTOBUF_TEST_NO_DESCRIPTORS 1758fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeated_string_piece_size()); 1759fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.repeated_cord_size()); 1760fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#endif 1761fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1762fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Test that the remaining element is the correct one. 1763fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(201 , message.repeated_int32 (0)); 1764fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(202 , message.repeated_int64 (0)); 1765fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(203 , message.repeated_uint32 (0)); 1766fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(204 , message.repeated_uint64 (0)); 1767fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(205 , message.repeated_sint32 (0)); 1768fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(206 , message.repeated_sint64 (0)); 1769fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(207 , message.repeated_fixed32 (0)); 1770fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(208 , message.repeated_fixed64 (0)); 1771fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(209 , message.repeated_sfixed32(0)); 1772fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(210 , message.repeated_sfixed64(0)); 1773fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(211 , message.repeated_float (0)); 1774fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(212 , message.repeated_double (0)); 1775fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , message.repeated_bool (0)); 1776fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("215", message.repeated_string (0)); 1777fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("216", message.repeated_bytes (0)); 1778fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1779fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(217, message.repeatedgroup (0).a()); 1780fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(218, message.repeated_nested_message (0).bb()); 1781fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(219, message.repeated_foreign_message(0).c()); 1782fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(220, message.repeated_import_message (0).d()); 1783fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1784fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::TestAllTypes::BAR, message.repeated_nested_enum (0)); 1785fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_BAR , message.repeated_foreign_enum(0)); 1786fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest_import::IMPORT_BAR, message.repeated_import_enum (0)); 1787fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 1788fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1789fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ExpectLastRepeatedExtensionsRemoved( 1790fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const unittest::TestAllExtensions& message) { 1791fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1792fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Test that one element was removed. 1793fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_int32_extension )); 1794fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_int64_extension )); 1795fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_uint32_extension )); 1796fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_uint64_extension )); 1797fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_sint32_extension )); 1798fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_sint64_extension )); 1799fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_fixed32_extension )); 1800fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_fixed64_extension )); 1801fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_sfixed32_extension)); 1802fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_sfixed64_extension)); 1803fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_float_extension )); 1804fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_double_extension )); 1805fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_bool_extension )); 1806fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_string_extension )); 1807fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_bytes_extension )); 1808fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1809fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeatedgroup_extension )); 1810fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_nested_message_extension )); 1811fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_foreign_message_extension)); 1812fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_import_message_extension )); 1813fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_nested_enum_extension )); 1814fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_foreign_enum_extension )); 1815fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_import_enum_extension )); 1816fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1817fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_string_piece_extension)); 1818fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_cord_extension)); 1819fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1820fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Test that the remaining element is the correct one. 1821fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(201 , message.GetExtension(unittest::repeated_int32_extension , 0)); 1822fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(202 , message.GetExtension(unittest::repeated_int64_extension , 0)); 1823fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(203 , message.GetExtension(unittest::repeated_uint32_extension , 0)); 1824fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(204 , message.GetExtension(unittest::repeated_uint64_extension , 0)); 1825fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(205 , message.GetExtension(unittest::repeated_sint32_extension , 0)); 1826fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(206 , message.GetExtension(unittest::repeated_sint64_extension , 0)); 1827fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(207 , message.GetExtension(unittest::repeated_fixed32_extension , 0)); 1828fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(208 , message.GetExtension(unittest::repeated_fixed64_extension , 0)); 1829fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(209 , message.GetExtension(unittest::repeated_sfixed32_extension, 0)); 1830fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(210 , message.GetExtension(unittest::repeated_sfixed64_extension, 0)); 1831fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(211 , message.GetExtension(unittest::repeated_float_extension , 0)); 1832fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(212 , message.GetExtension(unittest::repeated_double_extension , 0)); 1833fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , message.GetExtension(unittest::repeated_bool_extension , 0)); 1834fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("215", message.GetExtension(unittest::repeated_string_extension , 0)); 1835fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("216", message.GetExtension(unittest::repeated_bytes_extension , 0)); 1836fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1837fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(217, message.GetExtension(unittest::repeatedgroup_extension , 0).a()); 1838fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(218, message.GetExtension(unittest::repeated_nested_message_extension , 0).bb()); 1839fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(219, message.GetExtension(unittest::repeated_foreign_message_extension, 0).c()); 1840fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(220, message.GetExtension(unittest::repeated_import_message_extension , 0).d()); 1841fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1842fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::TestAllTypes::BAR, message.GetExtension(unittest::repeated_nested_enum_extension , 0)); 1843fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_BAR , message.GetExtension(unittest::repeated_foreign_enum_extension, 0)); 1844fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest_import::IMPORT_BAR, message.GetExtension(unittest::repeated_import_enum_extension , 0)); 1845fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1846fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("224", message.GetExtension(unittest::repeated_string_piece_extension, 0)); 1847fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("225", message.GetExtension(unittest::repeated_cord_extension, 0)); 1848fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 1849fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1850fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ExpectRepeatedsSwapped( 1851fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const unittest::TestAllTypes& message) { 1852fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_int32_size ()); 1853fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_int64_size ()); 1854fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_uint32_size ()); 1855fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_uint64_size ()); 1856fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_sint32_size ()); 1857fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_sint64_size ()); 1858fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_fixed32_size ()); 1859fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_fixed64_size ()); 1860fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_sfixed32_size()); 1861fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_sfixed64_size()); 1862fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_float_size ()); 1863fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_double_size ()); 1864fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_bool_size ()); 1865fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_string_size ()); 1866fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_bytes_size ()); 1867fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1868fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeatedgroup_size ()); 1869fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_nested_message_size ()); 1870fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_foreign_message_size()); 1871fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_import_message_size ()); 1872fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_nested_enum_size ()); 1873fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_foreign_enum_size ()); 1874fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_import_enum_size ()); 1875fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1876fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#ifndef PROTOBUF_TEST_NO_DESCRIPTORS 1877fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_string_piece_size()); 1878fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.repeated_cord_size()); 1879fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#endif 1880fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1881fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Test that the first element and second element are flipped. 1882fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(201 , message.repeated_int32 (1)); 1883fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(202 , message.repeated_int64 (1)); 1884fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(203 , message.repeated_uint32 (1)); 1885fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(204 , message.repeated_uint64 (1)); 1886fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(205 , message.repeated_sint32 (1)); 1887fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(206 , message.repeated_sint64 (1)); 1888fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(207 , message.repeated_fixed32 (1)); 1889fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(208 , message.repeated_fixed64 (1)); 1890fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(209 , message.repeated_sfixed32(1)); 1891fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(210 , message.repeated_sfixed64(1)); 1892fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(211 , message.repeated_float (1)); 1893fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(212 , message.repeated_double (1)); 1894fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , message.repeated_bool (1)); 1895fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("215", message.repeated_string (1)); 1896fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("216", message.repeated_bytes (1)); 1897fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1898fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(217, message.repeatedgroup (1).a()); 1899fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(218, message.repeated_nested_message (1).bb()); 1900fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(219, message.repeated_foreign_message(1).c()); 1901fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(220, message.repeated_import_message (1).d()); 1902fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1903fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::TestAllTypes::BAR, message.repeated_nested_enum (1)); 1904fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_BAR , message.repeated_foreign_enum(1)); 1905fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest_import::IMPORT_BAR, message.repeated_import_enum (1)); 1906fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1907fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(301 , message.repeated_int32 (0)); 1908fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(302 , message.repeated_int64 (0)); 1909fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(303 , message.repeated_uint32 (0)); 1910fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(304 , message.repeated_uint64 (0)); 1911fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(305 , message.repeated_sint32 (0)); 1912fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(306 , message.repeated_sint64 (0)); 1913fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(307 , message.repeated_fixed32 (0)); 1914fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(308 , message.repeated_fixed64 (0)); 1915fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(309 , message.repeated_sfixed32(0)); 1916fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(310 , message.repeated_sfixed64(0)); 1917fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(311 , message.repeated_float (0)); 1918fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(312 , message.repeated_double (0)); 1919fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(false, message.repeated_bool (0)); 1920fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("315", message.repeated_string (0)); 1921fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("316", message.repeated_bytes (0)); 1922fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1923fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(317, message.repeatedgroup (0).a()); 1924fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(318, message.repeated_nested_message (0).bb()); 1925fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(319, message.repeated_foreign_message(0).c()); 1926fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(320, message.repeated_import_message (0).d()); 1927fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1928fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::TestAllTypes::BAZ, message.repeated_nested_enum (0)); 1929fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_BAZ , message.repeated_foreign_enum(0)); 1930fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest_import::IMPORT_BAZ, message.repeated_import_enum (0)); 1931fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 1932fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1933fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ExpectRepeatedExtensionsSwapped( 1934fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const unittest::TestAllExtensions& message) { 1935fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1936fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_int32_extension )); 1937fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_int64_extension )); 1938fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_uint32_extension )); 1939fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_uint64_extension )); 1940fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sint32_extension )); 1941fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sint64_extension )); 1942fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_fixed32_extension )); 1943fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_fixed64_extension )); 1944fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sfixed32_extension)); 1945fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sfixed64_extension)); 1946fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_float_extension )); 1947fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_double_extension )); 1948fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_bool_extension )); 1949fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_string_extension )); 1950fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_bytes_extension )); 1951fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1952fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeatedgroup_extension )); 1953fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_message_extension )); 1954fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_message_extension)); 1955fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_message_extension )); 1956fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_enum_extension )); 1957fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_enum_extension )); 1958fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_enum_extension )); 1959fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1960fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_string_piece_extension)); 1961fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_cord_extension)); 1962fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1963fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(201 , message.GetExtension(unittest::repeated_int32_extension , 1)); 1964fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(202 , message.GetExtension(unittest::repeated_int64_extension , 1)); 1965fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(203 , message.GetExtension(unittest::repeated_uint32_extension , 1)); 1966fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(204 , message.GetExtension(unittest::repeated_uint64_extension , 1)); 1967fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(205 , message.GetExtension(unittest::repeated_sint32_extension , 1)); 1968fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(206 , message.GetExtension(unittest::repeated_sint64_extension , 1)); 1969fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(207 , message.GetExtension(unittest::repeated_fixed32_extension , 1)); 1970fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(208 , message.GetExtension(unittest::repeated_fixed64_extension , 1)); 1971fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(209 , message.GetExtension(unittest::repeated_sfixed32_extension, 1)); 1972fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(210 , message.GetExtension(unittest::repeated_sfixed64_extension, 1)); 1973fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(211 , message.GetExtension(unittest::repeated_float_extension , 1)); 1974fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(212 , message.GetExtension(unittest::repeated_double_extension , 1)); 1975fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , message.GetExtension(unittest::repeated_bool_extension , 1)); 1976fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("215", message.GetExtension(unittest::repeated_string_extension , 1)); 1977fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("216", message.GetExtension(unittest::repeated_bytes_extension , 1)); 1978fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1979fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(217, message.GetExtension(unittest::repeatedgroup_extension , 1).a()); 1980fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(218, message.GetExtension(unittest::repeated_nested_message_extension , 1).bb()); 1981fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(219, message.GetExtension(unittest::repeated_foreign_message_extension, 1).c()); 1982fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(220, message.GetExtension(unittest::repeated_import_message_extension , 1).d()); 1983fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1984fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::TestAllTypes::BAR, message.GetExtension(unittest::repeated_nested_enum_extension , 1)); 1985fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_BAR , message.GetExtension(unittest::repeated_foreign_enum_extension, 1)); 1986fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest_import::IMPORT_BAR, message.GetExtension(unittest::repeated_import_enum_extension , 1)); 1987fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1988fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("224", message.GetExtension(unittest::repeated_string_piece_extension, 1)); 1989fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("225", message.GetExtension(unittest::repeated_cord_extension, 1)); 1990fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1991fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(301 , message.GetExtension(unittest::repeated_int32_extension , 0)); 1992fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(302 , message.GetExtension(unittest::repeated_int64_extension , 0)); 1993fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(303 , message.GetExtension(unittest::repeated_uint32_extension , 0)); 1994fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(304 , message.GetExtension(unittest::repeated_uint64_extension , 0)); 1995fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(305 , message.GetExtension(unittest::repeated_sint32_extension , 0)); 1996fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(306 , message.GetExtension(unittest::repeated_sint64_extension , 0)); 1997fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(307 , message.GetExtension(unittest::repeated_fixed32_extension , 0)); 1998fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(308 , message.GetExtension(unittest::repeated_fixed64_extension , 0)); 1999fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(309 , message.GetExtension(unittest::repeated_sfixed32_extension, 0)); 2000fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(310 , message.GetExtension(unittest::repeated_sfixed64_extension, 0)); 2001fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(311 , message.GetExtension(unittest::repeated_float_extension , 0)); 2002fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(312 , message.GetExtension(unittest::repeated_double_extension , 0)); 2003fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(false, message.GetExtension(unittest::repeated_bool_extension , 0)); 2004fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("315", message.GetExtension(unittest::repeated_string_extension , 0)); 2005fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("316", message.GetExtension(unittest::repeated_bytes_extension , 0)); 2006fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2007fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(317, message.GetExtension(unittest::repeatedgroup_extension , 0).a()); 2008fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(318, message.GetExtension(unittest::repeated_nested_message_extension , 0).bb()); 2009fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(319, message.GetExtension(unittest::repeated_foreign_message_extension, 0).c()); 2010fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(320, message.GetExtension(unittest::repeated_import_message_extension , 0).d()); 2011fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2012fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::TestAllTypes::BAZ, message.GetExtension(unittest::repeated_nested_enum_extension , 0)); 2013fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest::FOREIGN_BAZ , message.GetExtension(unittest::repeated_foreign_enum_extension, 0)); 2014fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(unittest_import::IMPORT_BAZ, message.GetExtension(unittest::repeated_import_enum_extension , 0)); 2015fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2016fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("324", message.GetExtension(unittest::repeated_string_piece_extension, 0)); 2017fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("325", message.GetExtension(unittest::repeated_cord_extension, 0)); 2018fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 2019fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2020fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// =================================================================== 2021fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2022fbaaef999ba563838ebd00874ed8a1c01fbf286dWink SavilleTestUtil::ReflectionTester::ReflectionTester( 2023fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const Descriptor* base_descriptor) 2024fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville : base_descriptor_(base_descriptor) { 2025fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2026fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const DescriptorPool* pool = base_descriptor->file()->pool(); 2027fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2028fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville nested_b_ = 2029fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville pool->FindFieldByName("protobuf_unittest.TestAllTypes.NestedMessage.bb"); 2030fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville foreign_c_ = 2031fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville pool->FindFieldByName("protobuf_unittest.ForeignMessage.c"); 2032fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville import_d_ = 2033fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville pool->FindFieldByName("protobuf_unittest_import.ImportMessage.d"); 2034fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville nested_foo_ = 2035fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville pool->FindEnumValueByName("protobuf_unittest.TestAllTypes.FOO"); 2036fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville nested_bar_ = 2037fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville pool->FindEnumValueByName("protobuf_unittest.TestAllTypes.BAR"); 2038fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville nested_baz_ = 2039fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville pool->FindEnumValueByName("protobuf_unittest.TestAllTypes.BAZ"); 2040fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville foreign_foo_ = 2041fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville pool->FindEnumValueByName("protobuf_unittest.FOREIGN_FOO"); 2042fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville foreign_bar_ = 2043fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville pool->FindEnumValueByName("protobuf_unittest.FOREIGN_BAR"); 2044fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville foreign_baz_ = 2045fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville pool->FindEnumValueByName("protobuf_unittest.FOREIGN_BAZ"); 2046fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville import_foo_ = 2047fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville pool->FindEnumValueByName("protobuf_unittest_import.IMPORT_FOO"); 2048fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville import_bar_ = 2049fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville pool->FindEnumValueByName("protobuf_unittest_import.IMPORT_BAR"); 2050fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville import_baz_ = 2051fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville pool->FindEnumValueByName("protobuf_unittest_import.IMPORT_BAZ"); 2052fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2053fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville if (base_descriptor_->name() == "TestAllExtensions") { 2054fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville group_a_ = 2055fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville pool->FindFieldByName("protobuf_unittest.OptionalGroup_extension.a"); 2056fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville repeated_group_a_ = 2057fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville pool->FindFieldByName("protobuf_unittest.RepeatedGroup_extension.a"); 2058fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville } else { 2059fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville group_a_ = 2060fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville pool->FindFieldByName("protobuf_unittest.TestAllTypes.OptionalGroup.a"); 2061fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville repeated_group_a_ = 2062fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville pool->FindFieldByName("protobuf_unittest.TestAllTypes.RepeatedGroup.a"); 2063fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville } 2064fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2065fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(group_a_ != NULL); 2066fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(repeated_group_a_ != NULL); 2067fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(nested_b_ != NULL); 2068fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(foreign_c_ != NULL); 2069fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(import_d_ != NULL); 2070fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(nested_foo_ != NULL); 2071fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(nested_bar_ != NULL); 2072fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(nested_baz_ != NULL); 2073fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(foreign_foo_ != NULL); 2074fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(foreign_bar_ != NULL); 2075fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(foreign_baz_ != NULL); 2076fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(import_foo_ != NULL); 2077fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(import_bar_ != NULL); 2078fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(import_baz_ != NULL); 2079fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 2080fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2081fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// Shorthand to get a FieldDescriptor for a field of unittest::TestAllTypes. 2082fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savilleconst FieldDescriptor* TestUtil::ReflectionTester::F(const string& name) { 2083fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const FieldDescriptor* result = NULL; 2084fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville if (base_descriptor_->name() == "TestAllExtensions" || 2085fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville base_descriptor_->name() == "TestPackedExtensions") { 2086fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville result = base_descriptor_->file()->FindExtensionByName(name + "_extension"); 2087fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville } else { 2088fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville result = base_descriptor_->FindFieldByName(name); 2089fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville } 2090fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville GOOGLE_CHECK(result != NULL); 2091fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville return result; 2092fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 2093fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2094fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 2095fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2096fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ReflectionTester::SetAllFieldsViaReflection(Message* message) { 2097fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const Reflection* reflection = message->GetReflection(); 2098fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville Message* sub_message; 2099fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2100fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetInt32 (message, F("optional_int32" ), 101); 2101fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetInt64 (message, F("optional_int64" ), 102); 2102fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetUInt32(message, F("optional_uint32" ), 103); 2103fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetUInt64(message, F("optional_uint64" ), 104); 2104fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetInt32 (message, F("optional_sint32" ), 105); 2105fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetInt64 (message, F("optional_sint64" ), 106); 2106fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetUInt32(message, F("optional_fixed32" ), 107); 2107fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetUInt64(message, F("optional_fixed64" ), 108); 2108fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetInt32 (message, F("optional_sfixed32"), 109); 2109fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetInt64 (message, F("optional_sfixed64"), 110); 2110fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetFloat (message, F("optional_float" ), 111); 2111fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetDouble(message, F("optional_double" ), 112); 2112fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetBool (message, F("optional_bool" ), true); 2113fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetString(message, F("optional_string" ), "115"); 2114fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetString(message, F("optional_bytes" ), "116"); 2115fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2116fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = reflection->MutableMessage(message, F("optionalgroup")); 2117fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message->GetReflection()->SetInt32(sub_message, group_a_, 117); 2118fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = reflection->MutableMessage(message, F("optional_nested_message")); 2119fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message->GetReflection()->SetInt32(sub_message, nested_b_, 118); 2120fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = reflection->MutableMessage(message, F("optional_foreign_message")); 2121fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message->GetReflection()->SetInt32(sub_message, foreign_c_, 119); 2122fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = reflection->MutableMessage(message, F("optional_import_message")); 2123fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message->GetReflection()->SetInt32(sub_message, import_d_, 120); 2124fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2125fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetEnum(message, F("optional_nested_enum" ), nested_baz_); 2126fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetEnum(message, F("optional_foreign_enum"), foreign_baz_); 2127fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetEnum(message, F("optional_import_enum" ), import_baz_); 2128fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2129fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetString(message, F("optional_string_piece"), "124"); 2130fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetString(message, F("optional_cord"), "125"); 2131fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2132fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // ----------------------------------------------------------------- 2133fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2134fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt32 (message, F("repeated_int32" ), 201); 2135fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt64 (message, F("repeated_int64" ), 202); 2136fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddUInt32(message, F("repeated_uint32" ), 203); 2137fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddUInt64(message, F("repeated_uint64" ), 204); 2138fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt32 (message, F("repeated_sint32" ), 205); 2139fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt64 (message, F("repeated_sint64" ), 206); 2140fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddUInt32(message, F("repeated_fixed32" ), 207); 2141fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddUInt64(message, F("repeated_fixed64" ), 208); 2142fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt32 (message, F("repeated_sfixed32"), 209); 2143fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt64 (message, F("repeated_sfixed64"), 210); 2144fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddFloat (message, F("repeated_float" ), 211); 2145fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddDouble(message, F("repeated_double" ), 212); 2146fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddBool (message, F("repeated_bool" ), true); 2147fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddString(message, F("repeated_string" ), "215"); 2148fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddString(message, F("repeated_bytes" ), "216"); 2149fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2150fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = reflection->AddMessage(message, F("repeatedgroup")); 2151fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message->GetReflection()->SetInt32(sub_message, repeated_group_a_, 217); 2152fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = reflection->AddMessage(message, F("repeated_nested_message")); 2153fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message->GetReflection()->SetInt32(sub_message, nested_b_, 218); 2154fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = reflection->AddMessage(message, F("repeated_foreign_message")); 2155fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message->GetReflection()->SetInt32(sub_message, foreign_c_, 219); 2156fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = reflection->AddMessage(message, F("repeated_import_message")); 2157fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message->GetReflection()->SetInt32(sub_message, import_d_, 220); 2158fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2159fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddEnum(message, F("repeated_nested_enum" ), nested_bar_); 2160fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddEnum(message, F("repeated_foreign_enum"), foreign_bar_); 2161fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddEnum(message, F("repeated_import_enum" ), import_bar_); 2162fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2163fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddString(message, F("repeated_string_piece"), "224"); 2164fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddString(message, F("repeated_cord"), "225"); 2165fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2166fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Add a second one of each field. 2167fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt32 (message, F("repeated_int32" ), 301); 2168fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt64 (message, F("repeated_int64" ), 302); 2169fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddUInt32(message, F("repeated_uint32" ), 303); 2170fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddUInt64(message, F("repeated_uint64" ), 304); 2171fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt32 (message, F("repeated_sint32" ), 305); 2172fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt64 (message, F("repeated_sint64" ), 306); 2173fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddUInt32(message, F("repeated_fixed32" ), 307); 2174fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddUInt64(message, F("repeated_fixed64" ), 308); 2175fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt32 (message, F("repeated_sfixed32"), 309); 2176fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt64 (message, F("repeated_sfixed64"), 310); 2177fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddFloat (message, F("repeated_float" ), 311); 2178fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddDouble(message, F("repeated_double" ), 312); 2179fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddBool (message, F("repeated_bool" ), false); 2180fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddString(message, F("repeated_string" ), "315"); 2181fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddString(message, F("repeated_bytes" ), "316"); 2182fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2183fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = reflection->AddMessage(message, F("repeatedgroup")); 2184fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message->GetReflection()->SetInt32(sub_message, repeated_group_a_, 317); 2185fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = reflection->AddMessage(message, F("repeated_nested_message")); 2186fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message->GetReflection()->SetInt32(sub_message, nested_b_, 318); 2187fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = reflection->AddMessage(message, F("repeated_foreign_message")); 2188fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message->GetReflection()->SetInt32(sub_message, foreign_c_, 319); 2189fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = reflection->AddMessage(message, F("repeated_import_message")); 2190fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message->GetReflection()->SetInt32(sub_message, import_d_, 320); 2191fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2192fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddEnum(message, F("repeated_nested_enum" ), nested_baz_); 2193fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddEnum(message, F("repeated_foreign_enum"), foreign_baz_); 2194fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddEnum(message, F("repeated_import_enum" ), import_baz_); 2195fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2196fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddString(message, F("repeated_string_piece"), "324"); 2197fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddString(message, F("repeated_cord"), "325"); 2198fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2199fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // ----------------------------------------------------------------- 2200fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2201fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetInt32 (message, F("default_int32" ), 401); 2202fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetInt64 (message, F("default_int64" ), 402); 2203fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetUInt32(message, F("default_uint32" ), 403); 2204fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetUInt64(message, F("default_uint64" ), 404); 2205fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetInt32 (message, F("default_sint32" ), 405); 2206fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetInt64 (message, F("default_sint64" ), 406); 2207fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetUInt32(message, F("default_fixed32" ), 407); 2208fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetUInt64(message, F("default_fixed64" ), 408); 2209fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetInt32 (message, F("default_sfixed32"), 409); 2210fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetInt64 (message, F("default_sfixed64"), 410); 2211fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetFloat (message, F("default_float" ), 411); 2212fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetDouble(message, F("default_double" ), 412); 2213fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetBool (message, F("default_bool" ), false); 2214fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetString(message, F("default_string" ), "415"); 2215fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetString(message, F("default_bytes" ), "416"); 2216fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2217fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetEnum(message, F("default_nested_enum" ), nested_foo_); 2218fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetEnum(message, F("default_foreign_enum"), foreign_foo_); 2219fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetEnum(message, F("default_import_enum" ), import_foo_); 2220fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2221fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetString(message, F("default_string_piece"), "424"); 2222fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetString(message, F("default_cord"), "425"); 2223fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 2224fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2225fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ReflectionTester::SetPackedFieldsViaReflection( 2226fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville Message* message) { 2227fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const Reflection* reflection = message->GetReflection(); 2228fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt32 (message, F("packed_int32" ), 601); 2229fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt64 (message, F("packed_int64" ), 602); 2230fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddUInt32(message, F("packed_uint32" ), 603); 2231fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddUInt64(message, F("packed_uint64" ), 604); 2232fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt32 (message, F("packed_sint32" ), 605); 2233fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt64 (message, F("packed_sint64" ), 606); 2234fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddUInt32(message, F("packed_fixed32" ), 607); 2235fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddUInt64(message, F("packed_fixed64" ), 608); 2236fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt32 (message, F("packed_sfixed32"), 609); 2237fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt64 (message, F("packed_sfixed64"), 610); 2238fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddFloat (message, F("packed_float" ), 611); 2239fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddDouble(message, F("packed_double" ), 612); 2240fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddBool (message, F("packed_bool" ), true); 2241fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddEnum (message, F("packed_enum" ), foreign_bar_); 2242fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2243fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt32 (message, F("packed_int32" ), 701); 2244fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt64 (message, F("packed_int64" ), 702); 2245fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddUInt32(message, F("packed_uint32" ), 703); 2246fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddUInt64(message, F("packed_uint64" ), 704); 2247fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt32 (message, F("packed_sint32" ), 705); 2248fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt64 (message, F("packed_sint64" ), 706); 2249fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddUInt32(message, F("packed_fixed32" ), 707); 2250fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddUInt64(message, F("packed_fixed64" ), 708); 2251fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt32 (message, F("packed_sfixed32"), 709); 2252fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddInt64 (message, F("packed_sfixed64"), 710); 2253fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddFloat (message, F("packed_float" ), 711); 2254fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddDouble(message, F("packed_double" ), 712); 2255fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddBool (message, F("packed_bool" ), false); 2256fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->AddEnum (message, F("packed_enum" ), foreign_baz_); 2257fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 2258fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2259fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 2260fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2261fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ReflectionTester::ExpectAllFieldsSetViaReflection( 2262fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const Message& message) { 2263fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // We have to split this into three function otherwise it creates a stack 2264fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // frame so large that it triggers a warning. 2265fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ExpectAllFieldsSetViaReflection1(message); 2266fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ExpectAllFieldsSetViaReflection2(message); 2267fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ExpectAllFieldsSetViaReflection3(message); 2268fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 2269fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2270fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ReflectionTester::ExpectAllFieldsSetViaReflection1( 2271fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const Message& message) { 2272fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const Reflection* reflection = message.GetReflection(); 2273fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville string scratch; 2274fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const Message* sub_message; 2275fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2276fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optional_int32" ))); 2277fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optional_int64" ))); 2278fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optional_uint32" ))); 2279fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optional_uint64" ))); 2280fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optional_sint32" ))); 2281fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optional_sint64" ))); 2282fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optional_fixed32" ))); 2283fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optional_fixed64" ))); 2284fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optional_sfixed32"))); 2285fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optional_sfixed64"))); 2286fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optional_float" ))); 2287fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optional_double" ))); 2288fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optional_bool" ))); 2289fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optional_string" ))); 2290fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optional_bytes" ))); 2291fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2292fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optionalgroup" ))); 2293fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optional_nested_message" ))); 2294fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optional_foreign_message"))); 2295fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optional_import_message" ))); 2296fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2297fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = &reflection->GetMessage(message, F("optionalgroup")); 2298fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(sub_message->GetReflection()->HasField(*sub_message, group_a_)); 2299fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = &reflection->GetMessage(message, F("optional_nested_message")); 2300fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(sub_message->GetReflection()->HasField(*sub_message, nested_b_)); 2301fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = &reflection->GetMessage(message, F("optional_foreign_message")); 2302fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(sub_message->GetReflection()->HasField(*sub_message, foreign_c_)); 2303fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = &reflection->GetMessage(message, F("optional_import_message")); 2304fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(sub_message->GetReflection()->HasField(*sub_message, import_d_)); 2305fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2306fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optional_nested_enum" ))); 2307fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optional_foreign_enum"))); 2308fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optional_import_enum" ))); 2309fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2310fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optional_string_piece"))); 2311fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("optional_cord"))); 2312fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2313fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(101 , reflection->GetInt32 (message, F("optional_int32" ))); 2314fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(102 , reflection->GetInt64 (message, F("optional_int64" ))); 2315fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(103 , reflection->GetUInt32(message, F("optional_uint32" ))); 2316fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(104 , reflection->GetUInt64(message, F("optional_uint64" ))); 2317fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(105 , reflection->GetInt32 (message, F("optional_sint32" ))); 2318fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(106 , reflection->GetInt64 (message, F("optional_sint64" ))); 2319fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(107 , reflection->GetUInt32(message, F("optional_fixed32" ))); 2320fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(108 , reflection->GetUInt64(message, F("optional_fixed64" ))); 2321fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(109 , reflection->GetInt32 (message, F("optional_sfixed32"))); 2322fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(110 , reflection->GetInt64 (message, F("optional_sfixed64"))); 2323fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(111 , reflection->GetFloat (message, F("optional_float" ))); 2324fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(112 , reflection->GetDouble(message, F("optional_double" ))); 2325fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , reflection->GetBool (message, F("optional_bool" ))); 2326fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("115", reflection->GetString(message, F("optional_string" ))); 2327fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("116", reflection->GetString(message, F("optional_bytes" ))); 2328fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2329fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("115", reflection->GetStringReference(message, F("optional_string"), &scratch)); 2330fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("116", reflection->GetStringReference(message, F("optional_bytes" ), &scratch)); 2331fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2332fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = &reflection->GetMessage(message, F("optionalgroup")); 2333fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(117, sub_message->GetReflection()->GetInt32(*sub_message, group_a_)); 2334fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = &reflection->GetMessage(message, F("optional_nested_message")); 2335fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(118, sub_message->GetReflection()->GetInt32(*sub_message, nested_b_)); 2336fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = &reflection->GetMessage(message, F("optional_foreign_message")); 2337fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(119, sub_message->GetReflection()->GetInt32(*sub_message, foreign_c_)); 2338fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = &reflection->GetMessage(message, F("optional_import_message")); 2339fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(120, sub_message->GetReflection()->GetInt32(*sub_message, import_d_)); 2340fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2341fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( nested_baz_, reflection->GetEnum(message, F("optional_nested_enum" ))); 2342fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(foreign_baz_, reflection->GetEnum(message, F("optional_foreign_enum"))); 2343fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( import_baz_, reflection->GetEnum(message, F("optional_import_enum" ))); 2344fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2345fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("124", reflection->GetString(message, F("optional_string_piece"))); 2346fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("124", reflection->GetStringReference(message, F("optional_string_piece"), &scratch)); 2347fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2348fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("125", reflection->GetString(message, F("optional_cord"))); 2349fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("125", reflection->GetStringReference(message, F("optional_cord"), &scratch)); 2350fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 2351fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2352fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ReflectionTester::ExpectAllFieldsSetViaReflection2( 2353fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const Message& message) { 2354fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const Reflection* reflection = message.GetReflection(); 2355fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville string scratch; 2356fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const Message* sub_message; 2357fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2358fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // ----------------------------------------------------------------- 2359fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2360fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_int32" ))); 2361fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_int64" ))); 2362fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_uint32" ))); 2363fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_uint64" ))); 2364fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_sint32" ))); 2365fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_sint64" ))); 2366fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_fixed32" ))); 2367fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_fixed64" ))); 2368fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_sfixed32"))); 2369fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_sfixed64"))); 2370fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_float" ))); 2371fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_double" ))); 2372fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_bool" ))); 2373fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_string" ))); 2374fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_bytes" ))); 2375fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2376fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeatedgroup" ))); 2377fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_nested_message" ))); 2378fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_foreign_message"))); 2379fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_import_message" ))); 2380fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_nested_enum" ))); 2381fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_foreign_enum" ))); 2382fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_import_enum" ))); 2383fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2384fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_string_piece"))); 2385fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_cord"))); 2386fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2387fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(201 , reflection->GetRepeatedInt32 (message, F("repeated_int32" ), 0)); 2388fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(202 , reflection->GetRepeatedInt64 (message, F("repeated_int64" ), 0)); 2389fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(203 , reflection->GetRepeatedUInt32(message, F("repeated_uint32" ), 0)); 2390fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(204 , reflection->GetRepeatedUInt64(message, F("repeated_uint64" ), 0)); 2391fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(205 , reflection->GetRepeatedInt32 (message, F("repeated_sint32" ), 0)); 2392fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(206 , reflection->GetRepeatedInt64 (message, F("repeated_sint64" ), 0)); 2393fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(207 , reflection->GetRepeatedUInt32(message, F("repeated_fixed32" ), 0)); 2394fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(208 , reflection->GetRepeatedUInt64(message, F("repeated_fixed64" ), 0)); 2395fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(209 , reflection->GetRepeatedInt32 (message, F("repeated_sfixed32"), 0)); 2396fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(210 , reflection->GetRepeatedInt64 (message, F("repeated_sfixed64"), 0)); 2397fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(211 , reflection->GetRepeatedFloat (message, F("repeated_float" ), 0)); 2398fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(212 , reflection->GetRepeatedDouble(message, F("repeated_double" ), 0)); 2399fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , reflection->GetRepeatedBool (message, F("repeated_bool" ), 0)); 2400fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("215", reflection->GetRepeatedString(message, F("repeated_string" ), 0)); 2401fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("216", reflection->GetRepeatedString(message, F("repeated_bytes" ), 0)); 2402fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2403fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("215", reflection->GetRepeatedStringReference(message, F("repeated_string"), 0, &scratch)); 2404fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("216", reflection->GetRepeatedStringReference(message, F("repeated_bytes"), 0, &scratch)); 2405fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2406fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = &reflection->GetRepeatedMessage(message, F("repeatedgroup"), 0); 2407fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(217, sub_message->GetReflection()->GetInt32(*sub_message, repeated_group_a_)); 2408fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = &reflection->GetRepeatedMessage(message, F("repeated_nested_message"), 0); 2409fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(218, sub_message->GetReflection()->GetInt32(*sub_message, nested_b_)); 2410fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = &reflection->GetRepeatedMessage(message, F("repeated_foreign_message"), 0); 2411fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(219, sub_message->GetReflection()->GetInt32(*sub_message, foreign_c_)); 2412fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = &reflection->GetRepeatedMessage(message, F("repeated_import_message"), 0); 2413fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(220, sub_message->GetReflection()->GetInt32(*sub_message, import_d_)); 2414fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2415fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( nested_bar_, reflection->GetRepeatedEnum(message, F("repeated_nested_enum" ),0)); 2416fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(foreign_bar_, reflection->GetRepeatedEnum(message, F("repeated_foreign_enum"),0)); 2417fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( import_bar_, reflection->GetRepeatedEnum(message, F("repeated_import_enum" ),0)); 2418fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2419fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("224", reflection->GetRepeatedString(message, F("repeated_string_piece"), 0)); 2420fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("224", reflection->GetRepeatedStringReference( 2421fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message, F("repeated_string_piece"), 0, &scratch)); 2422fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2423fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("225", reflection->GetRepeatedString(message, F("repeated_cord"), 0)); 2424fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("225", reflection->GetRepeatedStringReference( 2425fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message, F("repeated_cord"), 0, &scratch)); 2426fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2427fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(301 , reflection->GetRepeatedInt32 (message, F("repeated_int32" ), 1)); 2428fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(302 , reflection->GetRepeatedInt64 (message, F("repeated_int64" ), 1)); 2429fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(303 , reflection->GetRepeatedUInt32(message, F("repeated_uint32" ), 1)); 2430fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(304 , reflection->GetRepeatedUInt64(message, F("repeated_uint64" ), 1)); 2431fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(305 , reflection->GetRepeatedInt32 (message, F("repeated_sint32" ), 1)); 2432fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(306 , reflection->GetRepeatedInt64 (message, F("repeated_sint64" ), 1)); 2433fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(307 , reflection->GetRepeatedUInt32(message, F("repeated_fixed32" ), 1)); 2434fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(308 , reflection->GetRepeatedUInt64(message, F("repeated_fixed64" ), 1)); 2435fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(309 , reflection->GetRepeatedInt32 (message, F("repeated_sfixed32"), 1)); 2436fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(310 , reflection->GetRepeatedInt64 (message, F("repeated_sfixed64"), 1)); 2437fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(311 , reflection->GetRepeatedFloat (message, F("repeated_float" ), 1)); 2438fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(312 , reflection->GetRepeatedDouble(message, F("repeated_double" ), 1)); 2439fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(false, reflection->GetRepeatedBool (message, F("repeated_bool" ), 1)); 2440fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("315", reflection->GetRepeatedString(message, F("repeated_string" ), 1)); 2441fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("316", reflection->GetRepeatedString(message, F("repeated_bytes" ), 1)); 2442fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2443fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("315", reflection->GetRepeatedStringReference(message, F("repeated_string"), 2444fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1, &scratch)); 2445fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("316", reflection->GetRepeatedStringReference(message, F("repeated_bytes"), 2446fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1, &scratch)); 2447fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2448fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = &reflection->GetRepeatedMessage(message, F("repeatedgroup"), 1); 2449fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(317, sub_message->GetReflection()->GetInt32(*sub_message, repeated_group_a_)); 2450fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = &reflection->GetRepeatedMessage(message, F("repeated_nested_message"), 1); 2451fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(318, sub_message->GetReflection()->GetInt32(*sub_message, nested_b_)); 2452fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = &reflection->GetRepeatedMessage(message, F("repeated_foreign_message"), 1); 2453fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(319, sub_message->GetReflection()->GetInt32(*sub_message, foreign_c_)); 2454fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = &reflection->GetRepeatedMessage(message, F("repeated_import_message"), 1); 2455fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(320, sub_message->GetReflection()->GetInt32(*sub_message, import_d_)); 2456fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2457fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( nested_baz_, reflection->GetRepeatedEnum(message, F("repeated_nested_enum" ),1)); 2458fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(foreign_baz_, reflection->GetRepeatedEnum(message, F("repeated_foreign_enum"),1)); 2459fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( import_baz_, reflection->GetRepeatedEnum(message, F("repeated_import_enum" ),1)); 2460fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2461fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("324", reflection->GetRepeatedString(message, F("repeated_string_piece"), 1)); 2462fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("324", reflection->GetRepeatedStringReference( 2463fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message, F("repeated_string_piece"), 1, &scratch)); 2464fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2465fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("325", reflection->GetRepeatedString(message, F("repeated_cord"), 1)); 2466fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("325", reflection->GetRepeatedStringReference( 2467fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville message, F("repeated_cord"), 1, &scratch)); 2468fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 2469fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2470fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ReflectionTester::ExpectAllFieldsSetViaReflection3( 2471fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const Message& message) { 2472fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const Reflection* reflection = message.GetReflection(); 2473fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville string scratch; 2474fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2475fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // ----------------------------------------------------------------- 2476fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2477fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("default_int32" ))); 2478fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("default_int64" ))); 2479fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("default_uint32" ))); 2480fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("default_uint64" ))); 2481fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("default_sint32" ))); 2482fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("default_sint64" ))); 2483fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("default_fixed32" ))); 2484fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("default_fixed64" ))); 2485fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("default_sfixed32"))); 2486fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("default_sfixed64"))); 2487fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("default_float" ))); 2488fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("default_double" ))); 2489fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("default_bool" ))); 2490fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("default_string" ))); 2491fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("default_bytes" ))); 2492fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2493fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("default_nested_enum" ))); 2494fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("default_foreign_enum"))); 2495fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("default_import_enum" ))); 2496fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2497fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("default_string_piece"))); 2498fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_TRUE(reflection->HasField(message, F("default_cord"))); 2499fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2500fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(401 , reflection->GetInt32 (message, F("default_int32" ))); 2501fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(402 , reflection->GetInt64 (message, F("default_int64" ))); 2502fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(403 , reflection->GetUInt32(message, F("default_uint32" ))); 2503fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(404 , reflection->GetUInt64(message, F("default_uint64" ))); 2504fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(405 , reflection->GetInt32 (message, F("default_sint32" ))); 2505fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(406 , reflection->GetInt64 (message, F("default_sint64" ))); 2506fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(407 , reflection->GetUInt32(message, F("default_fixed32" ))); 2507fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(408 , reflection->GetUInt64(message, F("default_fixed64" ))); 2508fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(409 , reflection->GetInt32 (message, F("default_sfixed32"))); 2509fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(410 , reflection->GetInt64 (message, F("default_sfixed64"))); 2510fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(411 , reflection->GetFloat (message, F("default_float" ))); 2511fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(412 , reflection->GetDouble(message, F("default_double" ))); 2512fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(false, reflection->GetBool (message, F("default_bool" ))); 2513fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("415", reflection->GetString(message, F("default_string" ))); 2514fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("416", reflection->GetString(message, F("default_bytes" ))); 2515fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2516fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("415", reflection->GetStringReference(message, F("default_string"), &scratch)); 2517fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("416", reflection->GetStringReference(message, F("default_bytes" ), &scratch)); 2518fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2519fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( nested_foo_, reflection->GetEnum(message, F("default_nested_enum" ))); 2520fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(foreign_foo_, reflection->GetEnum(message, F("default_foreign_enum"))); 2521fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( import_foo_, reflection->GetEnum(message, F("default_import_enum" ))); 2522fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2523fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("424", reflection->GetString(message, F("default_string_piece"))); 2524fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("424", reflection->GetStringReference(message, F("default_string_piece"), 2525fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville &scratch)); 2526fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2527fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("425", reflection->GetString(message, F("default_cord"))); 2528fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("425", reflection->GetStringReference(message, F("default_cord"), &scratch)); 2529fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 2530fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2531fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ReflectionTester::ExpectPackedFieldsSetViaReflection( 2532fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const Message& message) { 2533fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const Reflection* reflection = message.GetReflection(); 2534fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2535fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("packed_int32" ))); 2536fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("packed_int64" ))); 2537fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("packed_uint32" ))); 2538fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("packed_uint64" ))); 2539fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("packed_sint32" ))); 2540fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("packed_sint64" ))); 2541fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("packed_fixed32" ))); 2542fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("packed_fixed64" ))); 2543fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("packed_sfixed32"))); 2544fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("packed_sfixed64"))); 2545fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("packed_float" ))); 2546fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("packed_double" ))); 2547fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("packed_bool" ))); 2548fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ASSERT_EQ(2, reflection->FieldSize(message, F("packed_enum" ))); 2549fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2550fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(601 , reflection->GetRepeatedInt32 (message, F("packed_int32" ), 0)); 2551fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(602 , reflection->GetRepeatedInt64 (message, F("packed_int64" ), 0)); 2552fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(603 , reflection->GetRepeatedUInt32(message, F("packed_uint32" ), 0)); 2553fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(604 , reflection->GetRepeatedUInt64(message, F("packed_uint64" ), 0)); 2554fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(605 , reflection->GetRepeatedInt32 (message, F("packed_sint32" ), 0)); 2555fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(606 , reflection->GetRepeatedInt64 (message, F("packed_sint64" ), 0)); 2556fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(607 , reflection->GetRepeatedUInt32(message, F("packed_fixed32" ), 0)); 2557fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(608 , reflection->GetRepeatedUInt64(message, F("packed_fixed64" ), 0)); 2558fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(609 , reflection->GetRepeatedInt32 (message, F("packed_sfixed32"), 0)); 2559fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(610 , reflection->GetRepeatedInt64 (message, F("packed_sfixed64"), 0)); 2560fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(611 , reflection->GetRepeatedFloat (message, F("packed_float" ), 0)); 2561fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(612 , reflection->GetRepeatedDouble(message, F("packed_double" ), 0)); 2562fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , reflection->GetRepeatedBool (message, F("packed_bool" ), 0)); 2563fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(foreign_bar_, 2564fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->GetRepeatedEnum(message, F("packed_enum"), 0)); 2565fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2566fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(701 , reflection->GetRepeatedInt32 (message, F("packed_int32" ), 1)); 2567fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(702 , reflection->GetRepeatedInt64 (message, F("packed_int64" ), 1)); 2568fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(703 , reflection->GetRepeatedUInt32(message, F("packed_uint32" ), 1)); 2569fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(704 , reflection->GetRepeatedUInt64(message, F("packed_uint64" ), 1)); 2570fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(705 , reflection->GetRepeatedInt32 (message, F("packed_sint32" ), 1)); 2571fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(706 , reflection->GetRepeatedInt64 (message, F("packed_sint64" ), 1)); 2572fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(707 , reflection->GetRepeatedUInt32(message, F("packed_fixed32" ), 1)); 2573fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(708 , reflection->GetRepeatedUInt64(message, F("packed_fixed64" ), 1)); 2574fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(709 , reflection->GetRepeatedInt32 (message, F("packed_sfixed32"), 1)); 2575fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(710 , reflection->GetRepeatedInt64 (message, F("packed_sfixed64"), 1)); 2576fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(711 , reflection->GetRepeatedFloat (message, F("packed_float" ), 1)); 2577fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(712 , reflection->GetRepeatedDouble(message, F("packed_double" ), 1)); 2578fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(false, reflection->GetRepeatedBool (message, F("packed_bool" ), 1)); 2579fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(foreign_baz_, 2580fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->GetRepeatedEnum(message, F("packed_enum"), 1)); 2581fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 2582fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2583fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 2584fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2585fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ReflectionTester::ExpectClearViaReflection( 2586fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const Message& message) { 2587fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const Reflection* reflection = message.GetReflection(); 2588fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville string scratch; 2589fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const Message* sub_message; 2590fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2591fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // has_blah() should initially be false for all optional fields. 2592fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optional_int32" ))); 2593fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optional_int64" ))); 2594fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optional_uint32" ))); 2595fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optional_uint64" ))); 2596fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optional_sint32" ))); 2597fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optional_sint64" ))); 2598fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optional_fixed32" ))); 2599fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optional_fixed64" ))); 2600fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optional_sfixed32"))); 2601fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optional_sfixed64"))); 2602fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optional_float" ))); 2603fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optional_double" ))); 2604fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optional_bool" ))); 2605fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optional_string" ))); 2606fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optional_bytes" ))); 2607fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2608fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optionalgroup" ))); 2609fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optional_nested_message" ))); 2610fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optional_foreign_message"))); 2611fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optional_import_message" ))); 2612fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2613fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optional_nested_enum" ))); 2614fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optional_foreign_enum"))); 2615fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optional_import_enum" ))); 2616fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2617fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optional_string_piece"))); 2618fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("optional_cord"))); 2619fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2620fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Optional fields without defaults are set to zero or something like it. 2621fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , reflection->GetInt32 (message, F("optional_int32" ))); 2622fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , reflection->GetInt64 (message, F("optional_int64" ))); 2623fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , reflection->GetUInt32(message, F("optional_uint32" ))); 2624fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , reflection->GetUInt64(message, F("optional_uint64" ))); 2625fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , reflection->GetInt32 (message, F("optional_sint32" ))); 2626fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , reflection->GetInt64 (message, F("optional_sint64" ))); 2627fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , reflection->GetUInt32(message, F("optional_fixed32" ))); 2628fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , reflection->GetUInt64(message, F("optional_fixed64" ))); 2629fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , reflection->GetInt32 (message, F("optional_sfixed32"))); 2630fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , reflection->GetInt64 (message, F("optional_sfixed64"))); 2631fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , reflection->GetFloat (message, F("optional_float" ))); 2632fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0 , reflection->GetDouble(message, F("optional_double" ))); 2633fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(false, reflection->GetBool (message, F("optional_bool" ))); 2634fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("" , reflection->GetString(message, F("optional_string" ))); 2635fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("" , reflection->GetString(message, F("optional_bytes" ))); 2636fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2637fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("", reflection->GetStringReference(message, F("optional_string"), &scratch)); 2638fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("", reflection->GetStringReference(message, F("optional_bytes" ), &scratch)); 2639fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2640fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Embedded messages should also be clear. 2641fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = &reflection->GetMessage(message, F("optionalgroup")); 2642fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(sub_message->GetReflection()->HasField(*sub_message, group_a_)); 2643fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, sub_message->GetReflection()->GetInt32(*sub_message, group_a_)); 2644fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = &reflection->GetMessage(message, F("optional_nested_message")); 2645fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(sub_message->GetReflection()->HasField(*sub_message, nested_b_)); 2646fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, sub_message->GetReflection()->GetInt32(*sub_message, nested_b_)); 2647fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = &reflection->GetMessage(message, F("optional_foreign_message")); 2648fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(sub_message->GetReflection()->HasField(*sub_message, foreign_c_)); 2649fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, sub_message->GetReflection()->GetInt32(*sub_message, foreign_c_)); 2650fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = &reflection->GetMessage(message, F("optional_import_message")); 2651fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(sub_message->GetReflection()->HasField(*sub_message, import_d_)); 2652fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, sub_message->GetReflection()->GetInt32(*sub_message, import_d_)); 2653fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2654fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Enums without defaults are set to the first value in the enum. 2655fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( nested_foo_, reflection->GetEnum(message, F("optional_nested_enum" ))); 2656fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(foreign_foo_, reflection->GetEnum(message, F("optional_foreign_enum"))); 2657fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( import_foo_, reflection->GetEnum(message, F("optional_import_enum" ))); 2658fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2659fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("", reflection->GetString(message, F("optional_string_piece"))); 2660fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("", reflection->GetStringReference(message, F("optional_string_piece"), &scratch)); 2661fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2662fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("", reflection->GetString(message, F("optional_cord"))); 2663fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("", reflection->GetStringReference(message, F("optional_cord"), &scratch)); 2664fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2665fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Repeated fields are empty. 2666fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_int32" ))); 2667fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_int64" ))); 2668fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_uint32" ))); 2669fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_uint64" ))); 2670fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_sint32" ))); 2671fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_sint64" ))); 2672fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_fixed32" ))); 2673fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_fixed64" ))); 2674fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_sfixed32"))); 2675fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_sfixed64"))); 2676fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_float" ))); 2677fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_double" ))); 2678fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_bool" ))); 2679fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_string" ))); 2680fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_bytes" ))); 2681fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2682fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeatedgroup" ))); 2683fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_nested_message" ))); 2684fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_foreign_message"))); 2685fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_import_message" ))); 2686fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_nested_enum" ))); 2687fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_foreign_enum" ))); 2688fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_import_enum" ))); 2689fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2690fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_string_piece"))); 2691fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_cord"))); 2692fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2693fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // has_blah() should also be false for all default fields. 2694fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("default_int32" ))); 2695fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("default_int64" ))); 2696fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("default_uint32" ))); 2697fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("default_uint64" ))); 2698fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("default_sint32" ))); 2699fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("default_sint64" ))); 2700fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("default_fixed32" ))); 2701fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("default_fixed64" ))); 2702fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("default_sfixed32"))); 2703fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("default_sfixed64"))); 2704fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("default_float" ))); 2705fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("default_double" ))); 2706fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("default_bool" ))); 2707fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("default_string" ))); 2708fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("default_bytes" ))); 2709fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2710fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("default_nested_enum" ))); 2711fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("default_foreign_enum"))); 2712fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("default_import_enum" ))); 2713fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2714fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("default_string_piece"))); 2715fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_FALSE(reflection->HasField(message, F("default_cord"))); 2716fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2717fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville // Fields with defaults have their default values (duh). 2718fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 41 , reflection->GetInt32 (message, F("default_int32" ))); 2719fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 42 , reflection->GetInt64 (message, F("default_int64" ))); 2720fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 43 , reflection->GetUInt32(message, F("default_uint32" ))); 2721fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 44 , reflection->GetUInt64(message, F("default_uint64" ))); 2722fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(-45 , reflection->GetInt32 (message, F("default_sint32" ))); 2723fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 46 , reflection->GetInt64 (message, F("default_sint64" ))); 2724fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 47 , reflection->GetUInt32(message, F("default_fixed32" ))); 2725fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 48 , reflection->GetUInt64(message, F("default_fixed64" ))); 2726fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 49 , reflection->GetInt32 (message, F("default_sfixed32"))); 2727fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(-50 , reflection->GetInt64 (message, F("default_sfixed64"))); 2728fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 51.5 , reflection->GetFloat (message, F("default_float" ))); 2729fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( 52e3 , reflection->GetDouble(message, F("default_double" ))); 2730fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(true , reflection->GetBool (message, F("default_bool" ))); 2731fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("hello", reflection->GetString(message, F("default_string" ))); 2732fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("world", reflection->GetString(message, F("default_bytes" ))); 2733fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2734fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("hello", reflection->GetStringReference(message, F("default_string"), &scratch)); 2735fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("world", reflection->GetStringReference(message, F("default_bytes" ), &scratch)); 2736fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2737fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( nested_bar_, reflection->GetEnum(message, F("default_nested_enum" ))); 2738fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(foreign_bar_, reflection->GetEnum(message, F("default_foreign_enum"))); 2739fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ( import_bar_, reflection->GetEnum(message, F("default_import_enum" ))); 2740fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2741fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("abc", reflection->GetString(message, F("default_string_piece"))); 2742fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("abc", reflection->GetStringReference(message, F("default_string_piece"), &scratch)); 2743fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2744fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("123", reflection->GetString(message, F("default_cord"))); 2745fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ("123", reflection->GetStringReference(message, F("default_cord"), &scratch)); 2746fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 2747fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2748fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ReflectionTester::ExpectPackedClearViaReflection( 2749fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const Message& message) { 2750fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const Reflection* reflection = message.GetReflection(); 2751fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2752fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("packed_int32" ))); 2753fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("packed_int64" ))); 2754fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("packed_uint32" ))); 2755fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("packed_uint64" ))); 2756fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("packed_sint32" ))); 2757fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("packed_sint64" ))); 2758fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("packed_fixed32" ))); 2759fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("packed_fixed64" ))); 2760fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("packed_sfixed32"))); 2761fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("packed_sfixed64"))); 2762fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("packed_float" ))); 2763fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("packed_double" ))); 2764fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("packed_bool" ))); 2765fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville EXPECT_EQ(0, reflection->FieldSize(message, F("packed_enum" ))); 2766fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 2767fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2768fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ------------------------------------------------------------------- 2769fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2770fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ReflectionTester::ModifyRepeatedFieldsViaReflection( 2771fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville Message* message) { 2772fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const Reflection* reflection = message->GetReflection(); 2773fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville Message* sub_message; 2774fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2775fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedInt32 (message, F("repeated_int32" ), 1, 501); 2776fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedInt64 (message, F("repeated_int64" ), 1, 502); 2777fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedUInt32(message, F("repeated_uint32" ), 1, 503); 2778fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedUInt64(message, F("repeated_uint64" ), 1, 504); 2779fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedInt32 (message, F("repeated_sint32" ), 1, 505); 2780fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedInt64 (message, F("repeated_sint64" ), 1, 506); 2781fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedUInt32(message, F("repeated_fixed32" ), 1, 507); 2782fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedUInt64(message, F("repeated_fixed64" ), 1, 508); 2783fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedInt32 (message, F("repeated_sfixed32"), 1, 509); 2784fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedInt64 (message, F("repeated_sfixed64"), 1, 510); 2785fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedFloat (message, F("repeated_float" ), 1, 511); 2786fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedDouble(message, F("repeated_double" ), 1, 512); 2787fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedBool (message, F("repeated_bool" ), 1, true); 2788fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedString(message, F("repeated_string" ), 1, "515"); 2789fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedString(message, F("repeated_bytes" ), 1, "516"); 2790fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2791fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = reflection->MutableRepeatedMessage(message, F("repeatedgroup"), 1); 2792fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message->GetReflection()->SetInt32(sub_message, repeated_group_a_, 517); 2793fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = reflection->MutableRepeatedMessage(message, F("repeated_nested_message"), 1); 2794fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message->GetReflection()->SetInt32(sub_message, nested_b_, 518); 2795fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = reflection->MutableRepeatedMessage(message, F("repeated_foreign_message"), 1); 2796fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message->GetReflection()->SetInt32(sub_message, foreign_c_, 519); 2797fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message = reflection->MutableRepeatedMessage(message, F("repeated_import_message"), 1); 2798fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville sub_message->GetReflection()->SetInt32(sub_message, import_d_, 520); 2799fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2800fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedEnum(message, F("repeated_nested_enum" ), 1, nested_foo_); 2801fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedEnum(message, F("repeated_foreign_enum"), 1, foreign_foo_); 2802fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedEnum(message, F("repeated_import_enum" ), 1, import_foo_); 2803fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2804fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedString(message, F("repeated_string_piece"), 1, "524"); 2805fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedString(message, F("repeated_cord"), 1, "525"); 2806fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 2807fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2808fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ReflectionTester::ModifyPackedFieldsViaReflection( 2809fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville Message* message) { 2810fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const Reflection* reflection = message->GetReflection(); 2811fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedInt32 (message, F("packed_int32" ), 1, 801); 2812fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedInt64 (message, F("packed_int64" ), 1, 802); 2813fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedUInt32(message, F("packed_uint32" ), 1, 803); 2814fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedUInt64(message, F("packed_uint64" ), 1, 804); 2815fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedInt32 (message, F("packed_sint32" ), 1, 805); 2816fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedInt64 (message, F("packed_sint64" ), 1, 806); 2817fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedUInt32(message, F("packed_fixed32" ), 1, 807); 2818fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedUInt64(message, F("packed_fixed64" ), 1, 808); 2819fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedInt32 (message, F("packed_sfixed32"), 1, 809); 2820fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedInt64 (message, F("packed_sfixed64"), 1, 810); 2821fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedFloat (message, F("packed_float" ), 1, 811); 2822fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedDouble(message, F("packed_double" ), 1, 812); 2823fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedBool (message, F("packed_bool" ), 1, true); 2824fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SetRepeatedEnum (message, F("packed_enum" ), 1, foreign_foo_); 2825fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 2826fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2827fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ReflectionTester::RemoveLastRepeatedsViaReflection(Message* message) { 2828fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const Reflection* reflection = message->GetReflection(); 2829fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2830fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville vector<const FieldDescriptor*> output; 2831fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->ListFields(*message, &output); 2832fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville for (int i=0; i<output.size(); ++i) { 2833fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const FieldDescriptor* field = output[i]; 2834fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville if (!field->is_repeated()) continue; 2835fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2836fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->RemoveLast(message, field); 2837fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville } 2838fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 2839fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2840fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtil::ReflectionTester::SwapRepeatedsViaReflection(Message* message) { 2841fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const Reflection* reflection = message->GetReflection(); 2842fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2843fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville vector<const FieldDescriptor*> output; 2844fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->ListFields(*message, &output); 2845fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville for (int i=0; i<output.size(); ++i) { 2846fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville const FieldDescriptor* field = output[i]; 2847fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville if (!field->is_repeated()) continue; 2848fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2849fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville reflection->SwapElements(message, field, 0, 1); 2850fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville } 2851fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} 2852fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 2853fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} // namespace protobuf 2854fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville} // namespace google 2855