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