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#include <google/protobuf/test_util_lite.h>
36fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#include <google/protobuf/stubs/common.h>
37fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
38fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
39fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#define EXPECT_TRUE GOOGLE_CHECK
40fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#define ASSERT_TRUE GOOGLE_CHECK
41fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#define EXPECT_FALSE(COND) GOOGLE_CHECK(!(COND))
42fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#define EXPECT_EQ GOOGLE_CHECK_EQ
43fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#define ASSERT_EQ GOOGLE_CHECK_EQ
44fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
45fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillenamespace google {
46fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillenamespace protobuf {
47fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
48fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtilLite::SetAllFields(unittest::TestAllTypesLite* message) {
49fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_optional_int32   (101);
50fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_optional_int64   (102);
51fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_optional_uint32  (103);
52fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_optional_uint64  (104);
53fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_optional_sint32  (105);
54fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_optional_sint64  (106);
55fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_optional_fixed32 (107);
56fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_optional_fixed64 (108);
57fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_optional_sfixed32(109);
58fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_optional_sfixed64(110);
59fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_optional_float   (111);
60fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_optional_double  (112);
61fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_optional_bool    (true);
62fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_optional_string  ("115");
63fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_optional_bytes   ("116");
64fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
65a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->mutable_optionalgroup                 ()->set_a(117);
66a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->mutable_optional_nested_message       ()->set_bb(118);
67a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->mutable_optional_foreign_message      ()->set_c(119);
68a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->mutable_optional_import_message       ()->set_d(120);
69a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->mutable_optional_public_import_message()->set_e(126);
70a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->mutable_optional_lazy_message         ()->set_bb(127);
71fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
72fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_optional_nested_enum (unittest::TestAllTypesLite::BAZ );
73fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_optional_foreign_enum(unittest::FOREIGN_LITE_BAZ      );
74fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_optional_import_enum (unittest_import::IMPORT_LITE_BAZ);
75fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
76fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
77fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // -----------------------------------------------------------------
78fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
79fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_int32   (201);
80fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_int64   (202);
81fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_uint32  (203);
82fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_uint64  (204);
83fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_sint32  (205);
84fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_sint64  (206);
85fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_fixed32 (207);
86fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_fixed64 (208);
87fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_sfixed32(209);
88fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_sfixed64(210);
89fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_float   (211);
90fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_double  (212);
91fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_bool    (true);
92fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_string  ("215");
93fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_bytes   ("216");
94fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
95fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeatedgroup           ()->set_a(217);
96fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_nested_message ()->set_bb(218);
97fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_foreign_message()->set_c(219);
98fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_import_message ()->set_d(220);
99a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->add_repeated_lazy_message   ()->set_bb(227);
100fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
101fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_nested_enum (unittest::TestAllTypesLite::BAR );
102fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_foreign_enum(unittest::FOREIGN_LITE_BAR      );
103fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_import_enum (unittest_import::IMPORT_LITE_BAR);
104fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
105fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
106fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // Add a second one of each field.
107fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_int32   (301);
108fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_int64   (302);
109fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_uint32  (303);
110fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_uint64  (304);
111fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_sint32  (305);
112fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_sint64  (306);
113fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_fixed32 (307);
114fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_fixed64 (308);
115fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_sfixed32(309);
116fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_sfixed64(310);
117fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_float   (311);
118fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_double  (312);
119fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_bool    (false);
120fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_string  ("315");
121fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_bytes   ("316");
122fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
123fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeatedgroup           ()->set_a(317);
124fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_nested_message ()->set_bb(318);
125fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_foreign_message()->set_c(319);
126fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_import_message ()->set_d(320);
127a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->add_repeated_lazy_message   ()->set_bb(327);
128fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
129fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_nested_enum (unittest::TestAllTypesLite::BAZ );
130fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_foreign_enum(unittest::FOREIGN_LITE_BAZ      );
131fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_repeated_import_enum (unittest_import::IMPORT_LITE_BAZ);
132fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
133fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
134fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // -----------------------------------------------------------------
135fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
136fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_default_int32   (401);
137fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_default_int64   (402);
138fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_default_uint32  (403);
139fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_default_uint64  (404);
140fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_default_sint32  (405);
141fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_default_sint64  (406);
142fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_default_fixed32 (407);
143fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_default_fixed64 (408);
144fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_default_sfixed32(409);
145fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_default_sfixed64(410);
146fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_default_float   (411);
147fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_default_double  (412);
148fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_default_bool    (false);
149fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_default_string  ("415");
150fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_default_bytes   ("416");
151fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
152fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_default_nested_enum (unittest::TestAllTypesLite::FOO );
153fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_default_foreign_enum(unittest::FOREIGN_LITE_FOO      );
154fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_default_import_enum (unittest_import::IMPORT_LITE_FOO);
155fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
156a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson
157a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->set_oneof_uint32(601);
158a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->mutable_oneof_nested_message()->set_bb(602);
159a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->set_oneof_string("603");
160a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->set_oneof_bytes("604");
161fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville}
162fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
163fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// -------------------------------------------------------------------
164fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
165fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtilLite::ModifyRepeatedFields(unittest::TestAllTypesLite* message) {
166fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_repeated_int32   (1, 501);
167fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_repeated_int64   (1, 502);
168fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_repeated_uint32  (1, 503);
169fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_repeated_uint64  (1, 504);
170fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_repeated_sint32  (1, 505);
171fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_repeated_sint64  (1, 506);
172fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_repeated_fixed32 (1, 507);
173fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_repeated_fixed64 (1, 508);
174fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_repeated_sfixed32(1, 509);
175fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_repeated_sfixed64(1, 510);
176fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_repeated_float   (1, 511);
177fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_repeated_double  (1, 512);
178fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_repeated_bool    (1, true);
179fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_repeated_string  (1, "515");
180fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_repeated_bytes   (1, "516");
181fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
182fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->mutable_repeatedgroup           (1)->set_a(517);
183fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->mutable_repeated_nested_message (1)->set_bb(518);
184fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->mutable_repeated_foreign_message(1)->set_c(519);
185fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->mutable_repeated_import_message (1)->set_d(520);
186a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->mutable_repeated_lazy_message   (1)->set_bb(527);
187fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
188fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_repeated_nested_enum (1, unittest::TestAllTypesLite::FOO );
189fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_repeated_foreign_enum(1, unittest::FOREIGN_LITE_FOO      );
190fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_repeated_import_enum (1, unittest_import::IMPORT_LITE_FOO);
191fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
192fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville}
193fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
194fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// -------------------------------------------------------------------
195fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
196fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtilLite::ExpectAllFieldsSet(
197fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville    const unittest::TestAllTypesLite& message) {
198fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_optional_int32   ());
199fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_optional_int64   ());
200fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_optional_uint32  ());
201fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_optional_uint64  ());
202fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_optional_sint32  ());
203fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_optional_sint64  ());
204fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_optional_fixed32 ());
205fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_optional_fixed64 ());
206fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_optional_sfixed32());
207fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_optional_sfixed64());
208fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_optional_float   ());
209fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_optional_double  ());
210fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_optional_bool    ());
211fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_optional_string  ());
212fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_optional_bytes   ());
213fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
214a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.has_optionalgroup                 ());
215a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.has_optional_nested_message       ());
216a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.has_optional_foreign_message      ());
217a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.has_optional_import_message       ());
218a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.has_optional_public_import_message());
219a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.has_optional_lazy_message         ());
220fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
221a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.optionalgroup                 ().has_a());
222a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.optional_nested_message       ().has_bb());
223a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.optional_foreign_message      ().has_c());
224a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.optional_import_message       ().has_d());
225a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.optional_public_import_message().has_e());
226a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.optional_lazy_message         ().has_bb());
227fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
228fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_optional_nested_enum ());
229fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_optional_foreign_enum());
230fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_optional_import_enum ());
231fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
232fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
233fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(101  , message.optional_int32   ());
234fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(102  , message.optional_int64   ());
235fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(103  , message.optional_uint32  ());
236fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(104  , message.optional_uint64  ());
237fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(105  , message.optional_sint32  ());
238fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(106  , message.optional_sint64  ());
239fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(107  , message.optional_fixed32 ());
240fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(108  , message.optional_fixed64 ());
241fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(109  , message.optional_sfixed32());
242fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(110  , message.optional_sfixed64());
243fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(111  , message.optional_float   ());
244fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(112  , message.optional_double  ());
245fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(true , message.optional_bool    ());
246fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("115", message.optional_string  ());
247fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("116", message.optional_bytes   ());
248fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
249a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(117, message.optionalgroup                 ().a());
250a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(118, message.optional_nested_message       ().bb());
251a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(119, message.optional_foreign_message      ().c());
252a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(120, message.optional_import_message       ().d());
253a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(126, message.optional_public_import_message().e());
254a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(127, message.optional_lazy_message         ().bb());
255fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
256fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::TestAllTypesLite::BAZ , message.optional_nested_enum ());
257fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_BAZ      , message.optional_foreign_enum());
258fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest_import::IMPORT_LITE_BAZ, message.optional_import_enum ());
259fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
260fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
261fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // -----------------------------------------------------------------
262fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
263fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_int32_size   ());
264fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_int64_size   ());
265fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_uint32_size  ());
266fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_uint64_size  ());
267fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_sint32_size  ());
268fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_sint64_size  ());
269fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_fixed32_size ());
270fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_fixed64_size ());
271fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_sfixed32_size());
272fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_sfixed64_size());
273fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_float_size   ());
274fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_double_size  ());
275fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_bool_size    ());
276fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_string_size  ());
277fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_bytes_size   ());
278fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
279fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeatedgroup_size           ());
280fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_nested_message_size ());
281fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_foreign_message_size());
282fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_import_message_size ());
283a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  ASSERT_EQ(2, message.repeated_lazy_message_size   ());
284fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_nested_enum_size    ());
285fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_foreign_enum_size   ());
286fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_import_enum_size    ());
287fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
288fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
289fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(201  , message.repeated_int32   (0));
290fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(202  , message.repeated_int64   (0));
291fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(203  , message.repeated_uint32  (0));
292fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(204  , message.repeated_uint64  (0));
293fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(205  , message.repeated_sint32  (0));
294fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(206  , message.repeated_sint64  (0));
295fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(207  , message.repeated_fixed32 (0));
296fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(208  , message.repeated_fixed64 (0));
297fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(209  , message.repeated_sfixed32(0));
298fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(210  , message.repeated_sfixed64(0));
299fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(211  , message.repeated_float   (0));
300fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(212  , message.repeated_double  (0));
301fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(true , message.repeated_bool    (0));
302fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("215", message.repeated_string  (0));
303fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("216", message.repeated_bytes   (0));
304fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
305fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(217, message.repeatedgroup           (0).a());
306fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(218, message.repeated_nested_message (0).bb());
307fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(219, message.repeated_foreign_message(0).c());
308fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(220, message.repeated_import_message (0).d());
309a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(227, message.repeated_lazy_message   (0).bb());
310fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
311fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
312fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::TestAllTypesLite::BAR , message.repeated_nested_enum (0));
313fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_BAR      , message.repeated_foreign_enum(0));
314fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest_import::IMPORT_LITE_BAR, message.repeated_import_enum (0));
315fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
316fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(301  , message.repeated_int32   (1));
317fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(302  , message.repeated_int64   (1));
318fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(303  , message.repeated_uint32  (1));
319fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(304  , message.repeated_uint64  (1));
320fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(305  , message.repeated_sint32  (1));
321fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(306  , message.repeated_sint64  (1));
322fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(307  , message.repeated_fixed32 (1));
323fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(308  , message.repeated_fixed64 (1));
324fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(309  , message.repeated_sfixed32(1));
325fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(310  , message.repeated_sfixed64(1));
326fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(311  , message.repeated_float   (1));
327fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(312  , message.repeated_double  (1));
328fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(false, message.repeated_bool    (1));
329fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("315", message.repeated_string  (1));
330fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("316", message.repeated_bytes   (1));
331fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
332fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(317, message.repeatedgroup           (1).a());
333fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(318, message.repeated_nested_message (1).bb());
334fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(319, message.repeated_foreign_message(1).c());
335fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(320, message.repeated_import_message (1).d());
336a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(327, message.repeated_lazy_message   (1).bb());
337fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
338fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::TestAllTypesLite::BAZ , message.repeated_nested_enum (1));
339fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_BAZ      , message.repeated_foreign_enum(1));
340fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest_import::IMPORT_LITE_BAZ, message.repeated_import_enum (1));
341fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
342fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
343fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // -----------------------------------------------------------------
344fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
345fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_default_int32   ());
346fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_default_int64   ());
347fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_default_uint32  ());
348fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_default_uint64  ());
349fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_default_sint32  ());
350fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_default_sint64  ());
351fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_default_fixed32 ());
352fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_default_fixed64 ());
353fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_default_sfixed32());
354fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_default_sfixed64());
355fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_default_float   ());
356fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_default_double  ());
357fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_default_bool    ());
358fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_default_string  ());
359fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_default_bytes   ());
360fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
361fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_default_nested_enum ());
362fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_default_foreign_enum());
363fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.has_default_import_enum ());
364fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
365fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
366fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(401  , message.default_int32   ());
367fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(402  , message.default_int64   ());
368fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(403  , message.default_uint32  ());
369fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(404  , message.default_uint64  ());
370fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(405  , message.default_sint32  ());
371fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(406  , message.default_sint64  ());
372fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(407  , message.default_fixed32 ());
373fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(408  , message.default_fixed64 ());
374fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(409  , message.default_sfixed32());
375fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(410  , message.default_sfixed64());
376fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(411  , message.default_float   ());
377fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(412  , message.default_double  ());
378fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(false, message.default_bool    ());
379fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("415", message.default_string  ());
380fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("416", message.default_bytes   ());
381fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
382fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::TestAllTypesLite::FOO , message.default_nested_enum ());
383fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_FOO      , message.default_foreign_enum());
384fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest_import::IMPORT_LITE_FOO, message.default_import_enum ());
385fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
386a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson
387a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.has_oneof_uint32        ());
388a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.has_oneof_nested_message());
389a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.has_oneof_string        ());
390a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.has_oneof_bytes          ());
391a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson
392a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ("604", message.oneof_bytes());
393fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville}
394fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
395fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// -------------------------------------------------------------------
396fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
397fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtilLite::ExpectClear(const unittest::TestAllTypesLite& message) {
398fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // has_blah() should initially be false for all optional fields.
399fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_optional_int32   ());
400fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_optional_int64   ());
401fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_optional_uint32  ());
402fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_optional_uint64  ());
403fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_optional_sint32  ());
404fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_optional_sint64  ());
405fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_optional_fixed32 ());
406fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_optional_fixed64 ());
407fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_optional_sfixed32());
408fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_optional_sfixed64());
409fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_optional_float   ());
410fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_optional_double  ());
411fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_optional_bool    ());
412fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_optional_string  ());
413fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_optional_bytes   ());
414fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
415a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.has_optionalgroup                 ());
416a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.has_optional_nested_message       ());
417a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.has_optional_foreign_message      ());
418a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.has_optional_import_message       ());
419a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.has_optional_public_import_message());
420a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.has_optional_lazy_message         ());
421fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
422fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_optional_nested_enum ());
423fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_optional_foreign_enum());
424fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_optional_import_enum ());
425fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
426fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
427fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // Optional fields without defaults are set to zero or something like it.
428fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.optional_int32   ());
429fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.optional_int64   ());
430fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.optional_uint32  ());
431fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.optional_uint64  ());
432fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.optional_sint32  ());
433fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.optional_sint64  ());
434fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.optional_fixed32 ());
435fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.optional_fixed64 ());
436fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.optional_sfixed32());
437fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.optional_sfixed64());
438fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.optional_float   ());
439fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.optional_double  ());
440fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(false, message.optional_bool    ());
441fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(""   , message.optional_string  ());
442fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(""   , message.optional_bytes   ());
443fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
444fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // Embedded messages should also be clear.
445a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.optionalgroup                 ().has_a());
446a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.optional_nested_message       ().has_bb());
447a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.optional_foreign_message      ().has_c());
448a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.optional_import_message       ().has_d());
449a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.optional_public_import_message().has_e());
450a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.optional_lazy_message         ().has_bb());
451fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
452fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.optionalgroup           ().a());
453fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.optional_nested_message ().bb());
454fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.optional_foreign_message().c());
455fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.optional_import_message ().d());
456fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
457fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // Enums without defaults are set to the first value in the enum.
458fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::TestAllTypesLite::FOO , message.optional_nested_enum ());
459fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_FOO      , message.optional_foreign_enum());
460fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest_import::IMPORT_LITE_FOO, message.optional_import_enum ());
461fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
462fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
463fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // Repeated fields are empty.
464fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.repeated_int32_size   ());
465fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.repeated_int64_size   ());
466fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.repeated_uint32_size  ());
467fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.repeated_uint64_size  ());
468fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.repeated_sint32_size  ());
469fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.repeated_sint64_size  ());
470fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.repeated_fixed32_size ());
471fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.repeated_fixed64_size ());
472fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.repeated_sfixed32_size());
473fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.repeated_sfixed64_size());
474fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.repeated_float_size   ());
475fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.repeated_double_size  ());
476fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.repeated_bool_size    ());
477fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.repeated_string_size  ());
478fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.repeated_bytes_size   ());
479fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
480fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.repeatedgroup_size           ());
481fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.repeated_nested_message_size ());
482fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.repeated_foreign_message_size());
483fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.repeated_import_message_size ());
484a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(0, message.repeated_lazy_message_size   ());
485fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.repeated_nested_enum_size    ());
486fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.repeated_foreign_enum_size   ());
487fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.repeated_import_enum_size    ());
488fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
489fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
490fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // has_blah() should also be false for all default fields.
491fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_default_int32   ());
492fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_default_int64   ());
493fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_default_uint32  ());
494fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_default_uint64  ());
495fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_default_sint32  ());
496fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_default_sint64  ());
497fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_default_fixed32 ());
498fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_default_fixed64 ());
499fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_default_sfixed32());
500fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_default_sfixed64());
501fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_default_float   ());
502fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_default_double  ());
503fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_default_bool    ());
504fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_default_string  ());
505fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_default_bytes   ());
506fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
507fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_default_nested_enum ());
508fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_default_foreign_enum());
509fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.has_default_import_enum ());
510fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
511fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
512fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // Fields with defaults have their default values (duh).
513fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ( 41    , message.default_int32   ());
514fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ( 42    , message.default_int64   ());
515fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ( 43    , message.default_uint32  ());
516fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ( 44    , message.default_uint64  ());
517fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(-45    , message.default_sint32  ());
518fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ( 46    , message.default_sint64  ());
519fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ( 47    , message.default_fixed32 ());
520fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ( 48    , message.default_fixed64 ());
521fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ( 49    , message.default_sfixed32());
522fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(-50    , message.default_sfixed64());
523fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ( 51.5  , message.default_float   ());
524fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ( 52e3  , message.default_double  ());
525fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(true   , message.default_bool    ());
526fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("hello", message.default_string  ());
527fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("world", message.default_bytes   ());
528fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
529fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::TestAllTypesLite::BAR , message.default_nested_enum ());
530fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_BAR      , message.default_foreign_enum());
531fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest_import::IMPORT_LITE_BAR, message.default_import_enum ());
532fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
533a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson
534a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.has_oneof_uint32        ());
535a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.has_oneof_nested_message());
536a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.has_oneof_string        ());
537a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.has_oneof_bytes         ());
538fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville}
539fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
540fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// -------------------------------------------------------------------
541fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
542fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtilLite::ExpectRepeatedFieldsModified(
543fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville    const unittest::TestAllTypesLite& message) {
544fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // ModifyRepeatedFields only sets the second repeated element of each
545fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // field.  In addition to verifying this, we also verify that the first
546fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // element and size were *not* modified.
547fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_int32_size   ());
548fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_int64_size   ());
549fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_uint32_size  ());
550fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_uint64_size  ());
551fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_sint32_size  ());
552fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_sint64_size  ());
553fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_fixed32_size ());
554fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_fixed64_size ());
555fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_sfixed32_size());
556fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_sfixed64_size());
557fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_float_size   ());
558fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_double_size  ());
559fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_bool_size    ());
560fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_string_size  ());
561fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_bytes_size   ());
562fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
563fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeatedgroup_size           ());
564fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_nested_message_size ());
565fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_foreign_message_size());
566fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_import_message_size ());
567a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  ASSERT_EQ(2, message.repeated_lazy_message_size   ());
568fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_nested_enum_size    ());
569fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_foreign_enum_size   ());
570fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.repeated_import_enum_size    ());
571fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
572fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
573fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(201  , message.repeated_int32   (0));
574fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(202  , message.repeated_int64   (0));
575fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(203  , message.repeated_uint32  (0));
576fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(204  , message.repeated_uint64  (0));
577fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(205  , message.repeated_sint32  (0));
578fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(206  , message.repeated_sint64  (0));
579fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(207  , message.repeated_fixed32 (0));
580fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(208  , message.repeated_fixed64 (0));
581fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(209  , message.repeated_sfixed32(0));
582fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(210  , message.repeated_sfixed64(0));
583fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(211  , message.repeated_float   (0));
584fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(212  , message.repeated_double  (0));
585fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(true , message.repeated_bool    (0));
586fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("215", message.repeated_string  (0));
587fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("216", message.repeated_bytes   (0));
588fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
589fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(217, message.repeatedgroup           (0).a());
590fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(218, message.repeated_nested_message (0).bb());
591fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(219, message.repeated_foreign_message(0).c());
592fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(220, message.repeated_import_message (0).d());
593a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(227, message.repeated_lazy_message   (0).bb());
594fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
595fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::TestAllTypesLite::BAR , message.repeated_nested_enum (0));
596fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_BAR      , message.repeated_foreign_enum(0));
597fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest_import::IMPORT_LITE_BAR, message.repeated_import_enum (0));
598fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
599fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
600fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // Actually verify the second (modified) elements now.
601fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(501  , message.repeated_int32   (1));
602fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(502  , message.repeated_int64   (1));
603fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(503  , message.repeated_uint32  (1));
604fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(504  , message.repeated_uint64  (1));
605fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(505  , message.repeated_sint32  (1));
606fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(506  , message.repeated_sint64  (1));
607fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(507  , message.repeated_fixed32 (1));
608fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(508  , message.repeated_fixed64 (1));
609fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(509  , message.repeated_sfixed32(1));
610fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(510  , message.repeated_sfixed64(1));
611fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(511  , message.repeated_float   (1));
612fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(512  , message.repeated_double  (1));
613fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(true , message.repeated_bool    (1));
614fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("515", message.repeated_string  (1));
615fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("516", message.repeated_bytes   (1));
616fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
617fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(517, message.repeatedgroup           (1).a());
618fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(518, message.repeated_nested_message (1).bb());
619fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(519, message.repeated_foreign_message(1).c());
620fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(520, message.repeated_import_message (1).d());
621a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(527, message.repeated_lazy_message   (1).bb());
622fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
623fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::TestAllTypesLite::FOO , message.repeated_nested_enum (1));
624fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_FOO      , message.repeated_foreign_enum(1));
625fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest_import::IMPORT_LITE_FOO, message.repeated_import_enum (1));
626fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
627fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville}
628fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
629fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// -------------------------------------------------------------------
630fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
631fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtilLite::SetPackedFields(unittest::TestPackedTypesLite* message) {
632fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_int32   (601);
633fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_int64   (602);
634fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_uint32  (603);
635fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_uint64  (604);
636fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_sint32  (605);
637fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_sint64  (606);
638fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_fixed32 (607);
639fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_fixed64 (608);
640fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_sfixed32(609);
641fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_sfixed64(610);
642fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_float   (611);
643fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_double  (612);
644fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_bool    (true);
645fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_enum    (unittest::FOREIGN_LITE_BAR);
646fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // add a second one of each field
647fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_int32   (701);
648fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_int64   (702);
649fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_uint32  (703);
650fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_uint64  (704);
651fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_sint32  (705);
652fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_sint64  (706);
653fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_fixed32 (707);
654fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_fixed64 (708);
655fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_sfixed32(709);
656fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_sfixed64(710);
657fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_float   (711);
658fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_double  (712);
659fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_bool    (false);
660fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->add_packed_enum    (unittest::FOREIGN_LITE_BAZ);
661fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville}
662fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
663fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// -------------------------------------------------------------------
664fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
665fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtilLite::ModifyPackedFields(unittest::TestPackedTypesLite* message) {
666fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_packed_int32   (1, 801);
667fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_packed_int64   (1, 802);
668fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_packed_uint32  (1, 803);
669fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_packed_uint64  (1, 804);
670fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_packed_sint32  (1, 805);
671fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_packed_sint64  (1, 806);
672fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_packed_fixed32 (1, 807);
673fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_packed_fixed64 (1, 808);
674fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_packed_sfixed32(1, 809);
675fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_packed_sfixed64(1, 810);
676fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_packed_float   (1, 811);
677fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_packed_double  (1, 812);
678fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_packed_bool    (1, true);
679fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->set_packed_enum    (1, unittest::FOREIGN_LITE_FOO);
680fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville}
681fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
682fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// -------------------------------------------------------------------
683fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
684fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtilLite::ExpectPackedFieldsSet(
685fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville    const unittest::TestPackedTypesLite& message) {
686fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_int32_size   ());
687fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_int64_size   ());
688fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_uint32_size  ());
689fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_uint64_size  ());
690fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_sint32_size  ());
691fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_sint64_size  ());
692fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_fixed32_size ());
693fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_fixed64_size ());
694fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_sfixed32_size());
695fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_sfixed64_size());
696fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_float_size   ());
697fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_double_size  ());
698fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_bool_size    ());
699fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_enum_size    ());
700fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
701fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(601  , message.packed_int32   (0));
702fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(602  , message.packed_int64   (0));
703fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(603  , message.packed_uint32  (0));
704fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(604  , message.packed_uint64  (0));
705fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(605  , message.packed_sint32  (0));
706fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(606  , message.packed_sint64  (0));
707fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(607  , message.packed_fixed32 (0));
708fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(608  , message.packed_fixed64 (0));
709fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(609  , message.packed_sfixed32(0));
710fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(610  , message.packed_sfixed64(0));
711fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(611  , message.packed_float   (0));
712fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(612  , message.packed_double  (0));
713fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(true , message.packed_bool    (0));
714fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_BAR, message.packed_enum(0));
715fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
716fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(701  , message.packed_int32   (1));
717fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(702  , message.packed_int64   (1));
718fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(703  , message.packed_uint32  (1));
719fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(704  , message.packed_uint64  (1));
720fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(705  , message.packed_sint32  (1));
721fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(706  , message.packed_sint64  (1));
722fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(707  , message.packed_fixed32 (1));
723fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(708  , message.packed_fixed64 (1));
724fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(709  , message.packed_sfixed32(1));
725fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(710  , message.packed_sfixed64(1));
726fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(711  , message.packed_float   (1));
727fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(712  , message.packed_double  (1));
728fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(false, message.packed_bool    (1));
729fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_BAZ, message.packed_enum(1));
730fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville}
731fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
732fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// -------------------------------------------------------------------
733fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
734fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtilLite::ExpectPackedClear(
735fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville    const unittest::TestPackedTypesLite& message) {
736fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // Packed repeated fields are empty.
737fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.packed_int32_size   ());
738fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.packed_int64_size   ());
739fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.packed_uint32_size  ());
740fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.packed_uint64_size  ());
741fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.packed_sint32_size  ());
742fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.packed_sint64_size  ());
743fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.packed_fixed32_size ());
744fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.packed_fixed64_size ());
745fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.packed_sfixed32_size());
746fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.packed_sfixed64_size());
747fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.packed_float_size   ());
748fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.packed_double_size  ());
749fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.packed_bool_size    ());
750fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.packed_enum_size    ());
751fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville}
752fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
753fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// -------------------------------------------------------------------
754fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
755fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtilLite::ExpectPackedFieldsModified(
756fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville    const unittest::TestPackedTypesLite& message) {
757fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // Do the same for packed repeated fields.
758fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_int32_size   ());
759fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_int64_size   ());
760fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_uint32_size  ());
761fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_uint64_size  ());
762fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_sint32_size  ());
763fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_sint64_size  ());
764fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_fixed32_size ());
765fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_fixed64_size ());
766fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_sfixed32_size());
767fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_sfixed64_size());
768fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_float_size   ());
769fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_double_size  ());
770fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_bool_size    ());
771fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.packed_enum_size    ());
772fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
773fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(601  , message.packed_int32   (0));
774fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(602  , message.packed_int64   (0));
775fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(603  , message.packed_uint32  (0));
776fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(604  , message.packed_uint64  (0));
777fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(605  , message.packed_sint32  (0));
778fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(606  , message.packed_sint64  (0));
779fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(607  , message.packed_fixed32 (0));
780fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(608  , message.packed_fixed64 (0));
781fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(609  , message.packed_sfixed32(0));
782fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(610  , message.packed_sfixed64(0));
783fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(611  , message.packed_float   (0));
784fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(612  , message.packed_double  (0));
785fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(true , message.packed_bool    (0));
786fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_BAR, message.packed_enum(0));
787fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // Actually verify the second (modified) elements now.
788fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(801  , message.packed_int32   (1));
789fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(802  , message.packed_int64   (1));
790fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(803  , message.packed_uint32  (1));
791fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(804  , message.packed_uint64  (1));
792fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(805  , message.packed_sint32  (1));
793fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(806  , message.packed_sint64  (1));
794fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(807  , message.packed_fixed32 (1));
795fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(808  , message.packed_fixed64 (1));
796fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(809  , message.packed_sfixed32(1));
797fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(810  , message.packed_sfixed64(1));
798fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(811  , message.packed_float   (1));
799fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(812  , message.packed_double  (1));
800fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(true , message.packed_bool    (1));
801fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_FOO, message.packed_enum(1));
802fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville}
803fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
804fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// ===================================================================
805fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// Extensions
806fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville//
807fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// All this code is exactly equivalent to the above code except that it's
808fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// manipulating extension fields instead of normal ones.
809fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville//
810fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// I gave up on the 80-char limit here.  Sorry.
811fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
812fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtilLite::SetAllExtensions(unittest::TestAllExtensionsLite* message) {
813fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::optional_int32_extension_lite   , 101);
814fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::optional_int64_extension_lite   , 102);
815fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::optional_uint32_extension_lite  , 103);
816fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::optional_uint64_extension_lite  , 104);
817fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::optional_sint32_extension_lite  , 105);
818fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::optional_sint64_extension_lite  , 106);
819fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::optional_fixed32_extension_lite , 107);
820fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::optional_fixed64_extension_lite , 108);
821fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::optional_sfixed32_extension_lite, 109);
822fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::optional_sfixed64_extension_lite, 110);
823fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::optional_float_extension_lite   , 111);
824fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::optional_double_extension_lite  , 112);
825fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::optional_bool_extension_lite    , true);
826fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::optional_string_extension_lite  , "115");
827fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::optional_bytes_extension_lite   , "116");
828fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
829a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->MutableExtension(unittest::optionalgroup_extension_lite                 )->set_a(117);
830a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->MutableExtension(unittest::optional_nested_message_extension_lite       )->set_bb(118);
831a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->MutableExtension(unittest::optional_foreign_message_extension_lite      )->set_c(119);
832a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->MutableExtension(unittest::optional_import_message_extension_lite       )->set_d(120);
833a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->MutableExtension(unittest::optional_public_import_message_extension_lite)->set_e(126);
834a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->MutableExtension(unittest::optional_lazy_message_extension_lite         )->set_bb(127);
835fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
836fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::optional_nested_enum_extension_lite , unittest::TestAllTypesLite::BAZ );
837fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::optional_foreign_enum_extension_lite, unittest::FOREIGN_LITE_BAZ      );
838fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::optional_import_enum_extension_lite , unittest_import::IMPORT_LITE_BAZ);
839fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
840fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
841fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // -----------------------------------------------------------------
842fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
843fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_int32_extension_lite   , 201);
844fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_int64_extension_lite   , 202);
845fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_uint32_extension_lite  , 203);
846fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_uint64_extension_lite  , 204);
847fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_sint32_extension_lite  , 205);
848fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_sint64_extension_lite  , 206);
849fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_fixed32_extension_lite , 207);
850fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_fixed64_extension_lite , 208);
851fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_sfixed32_extension_lite, 209);
852fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_sfixed64_extension_lite, 210);
853fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_float_extension_lite   , 211);
854fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_double_extension_lite  , 212);
855fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_bool_extension_lite    , true);
856fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_string_extension_lite  , "215");
857fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_bytes_extension_lite   , "216");
858fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
859fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeatedgroup_extension_lite           )->set_a(217);
860fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_nested_message_extension_lite )->set_bb(218);
861fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_foreign_message_extension_lite)->set_c(219);
862fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_import_message_extension_lite )->set_d(220);
863a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->AddExtension(unittest::repeated_lazy_message_extension_lite   )->set_bb(227);
864fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
865fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_nested_enum_extension_lite , unittest::TestAllTypesLite::BAR );
866fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_foreign_enum_extension_lite, unittest::FOREIGN_LITE_BAR      );
867fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_import_enum_extension_lite , unittest_import::IMPORT_LITE_BAR);
868fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
869fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
870fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // Add a second one of each field.
871fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_int32_extension_lite   , 301);
872fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_int64_extension_lite   , 302);
873fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_uint32_extension_lite  , 303);
874fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_uint64_extension_lite  , 304);
875fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_sint32_extension_lite  , 305);
876fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_sint64_extension_lite  , 306);
877fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_fixed32_extension_lite , 307);
878fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_fixed64_extension_lite , 308);
879fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_sfixed32_extension_lite, 309);
880fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_sfixed64_extension_lite, 310);
881fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_float_extension_lite   , 311);
882fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_double_extension_lite  , 312);
883fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_bool_extension_lite    , false);
884fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_string_extension_lite  , "315");
885fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_bytes_extension_lite   , "316");
886fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
887fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeatedgroup_extension_lite           )->set_a(317);
888fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_nested_message_extension_lite )->set_bb(318);
889fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_foreign_message_extension_lite)->set_c(319);
890fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_import_message_extension_lite )->set_d(320);
891a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->AddExtension(unittest::repeated_lazy_message_extension_lite   )->set_bb(327);
892fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
893fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_nested_enum_extension_lite , unittest::TestAllTypesLite::BAZ );
894fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_foreign_enum_extension_lite, unittest::FOREIGN_LITE_BAZ      );
895fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::repeated_import_enum_extension_lite , unittest_import::IMPORT_LITE_BAZ);
896fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
897fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
898fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // -----------------------------------------------------------------
899fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
900fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::default_int32_extension_lite   , 401);
901fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::default_int64_extension_lite   , 402);
902fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::default_uint32_extension_lite  , 403);
903fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::default_uint64_extension_lite  , 404);
904fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::default_sint32_extension_lite  , 405);
905fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::default_sint64_extension_lite  , 406);
906fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::default_fixed32_extension_lite , 407);
907fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::default_fixed64_extension_lite , 408);
908fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::default_sfixed32_extension_lite, 409);
909fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::default_sfixed64_extension_lite, 410);
910fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::default_float_extension_lite   , 411);
911fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::default_double_extension_lite  , 412);
912fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::default_bool_extension_lite    , false);
913fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::default_string_extension_lite  , "415");
914fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::default_bytes_extension_lite   , "416");
915fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
916fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::default_nested_enum_extension_lite , unittest::TestAllTypesLite::FOO );
917fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::default_foreign_enum_extension_lite, unittest::FOREIGN_LITE_FOO      );
918fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::default_import_enum_extension_lite , unittest_import::IMPORT_LITE_FOO);
919fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
920a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson
921a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->SetExtension(unittest::oneof_uint32_extension_lite, 601);
922a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->MutableExtension(unittest::oneof_nested_message_extension_lite)->set_bb(602);;
923a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->SetExtension(unittest::oneof_string_extension_lite, "603");
924a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->SetExtension(unittest::oneof_bytes_extension_lite, "604");
925fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville}
926fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
927fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// -------------------------------------------------------------------
928fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
929fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtilLite::ModifyRepeatedExtensions(
930fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville    unittest::TestAllExtensionsLite* message) {
931fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::repeated_int32_extension_lite   , 1, 501);
932fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::repeated_int64_extension_lite   , 1, 502);
933fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::repeated_uint32_extension_lite  , 1, 503);
934fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::repeated_uint64_extension_lite  , 1, 504);
935fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::repeated_sint32_extension_lite  , 1, 505);
936fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::repeated_sint64_extension_lite  , 1, 506);
937fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::repeated_fixed32_extension_lite , 1, 507);
938fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::repeated_fixed64_extension_lite , 1, 508);
939fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::repeated_sfixed32_extension_lite, 1, 509);
940fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::repeated_sfixed64_extension_lite, 1, 510);
941fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::repeated_float_extension_lite   , 1, 511);
942fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::repeated_double_extension_lite  , 1, 512);
943fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::repeated_bool_extension_lite    , 1, true);
944fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::repeated_string_extension_lite  , 1, "515");
945fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::repeated_bytes_extension_lite   , 1, "516");
946fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
947fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->MutableExtension(unittest::repeatedgroup_extension_lite           , 1)->set_a(517);
948fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->MutableExtension(unittest::repeated_nested_message_extension_lite , 1)->set_bb(518);
949fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->MutableExtension(unittest::repeated_foreign_message_extension_lite, 1)->set_c(519);
950fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->MutableExtension(unittest::repeated_import_message_extension_lite , 1)->set_d(520);
951a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  message->MutableExtension(unittest::repeated_lazy_message_extension_lite   , 1)->set_bb(527);
952fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
953fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::repeated_nested_enum_extension_lite , 1, unittest::TestAllTypesLite::FOO );
954fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::repeated_foreign_enum_extension_lite, 1, unittest::FOREIGN_LITE_FOO      );
955fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::repeated_import_enum_extension_lite , 1, unittest_import::IMPORT_LITE_FOO);
956fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
957fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville}
958fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
959fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// -------------------------------------------------------------------
960fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
961fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtilLite::ExpectAllExtensionsSet(
962fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville    const unittest::TestAllExtensionsLite& message) {
963fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::optional_int32_extension_lite   ));
964fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::optional_int64_extension_lite   ));
965fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::optional_uint32_extension_lite  ));
966fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::optional_uint64_extension_lite  ));
967fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::optional_sint32_extension_lite  ));
968fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::optional_sint64_extension_lite  ));
969fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::optional_fixed32_extension_lite ));
970fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::optional_fixed64_extension_lite ));
971fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::optional_sfixed32_extension_lite));
972fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::optional_sfixed64_extension_lite));
973fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::optional_float_extension_lite   ));
974fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::optional_double_extension_lite  ));
975fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::optional_bool_extension_lite    ));
976fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::optional_string_extension_lite  ));
977fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::optional_bytes_extension_lite   ));
978fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
979a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.HasExtension(unittest::optionalgroup_extension_lite                 ));
980a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.HasExtension(unittest::optional_nested_message_extension_lite       ));
981a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.HasExtension(unittest::optional_foreign_message_extension_lite      ));
982a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.HasExtension(unittest::optional_import_message_extension_lite       ));
983a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.HasExtension(unittest::optional_public_import_message_extension_lite));
984a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.HasExtension(unittest::optional_lazy_message_extension_lite         ));
985fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
986a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.GetExtension(unittest::optionalgroup_extension_lite                 ).has_a());
987a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.GetExtension(unittest::optional_nested_message_extension_lite       ).has_bb());
988a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.GetExtension(unittest::optional_foreign_message_extension_lite      ).has_c());
989a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.GetExtension(unittest::optional_import_message_extension_lite       ).has_d());
990a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.GetExtension(unittest::optional_public_import_message_extension_lite).has_e());
991a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.GetExtension(unittest::optional_lazy_message_extension_lite         ).has_bb());
992fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
993fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::optional_nested_enum_extension_lite ));
994fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::optional_foreign_enum_extension_lite));
995fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::optional_import_enum_extension_lite ));
996fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
997fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
998fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(101  , message.GetExtension(unittest::optional_int32_extension_lite   ));
999fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(102  , message.GetExtension(unittest::optional_int64_extension_lite   ));
1000fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(103  , message.GetExtension(unittest::optional_uint32_extension_lite  ));
1001fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(104  , message.GetExtension(unittest::optional_uint64_extension_lite  ));
1002fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(105  , message.GetExtension(unittest::optional_sint32_extension_lite  ));
1003fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(106  , message.GetExtension(unittest::optional_sint64_extension_lite  ));
1004fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(107  , message.GetExtension(unittest::optional_fixed32_extension_lite ));
1005fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(108  , message.GetExtension(unittest::optional_fixed64_extension_lite ));
1006fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(109  , message.GetExtension(unittest::optional_sfixed32_extension_lite));
1007fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(110  , message.GetExtension(unittest::optional_sfixed64_extension_lite));
1008fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(111  , message.GetExtension(unittest::optional_float_extension_lite   ));
1009fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(112  , message.GetExtension(unittest::optional_double_extension_lite  ));
1010fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(true , message.GetExtension(unittest::optional_bool_extension_lite    ));
1011fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("115", message.GetExtension(unittest::optional_string_extension_lite  ));
1012fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("116", message.GetExtension(unittest::optional_bytes_extension_lite   ));
1013fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1014a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(117, message.GetExtension(unittest::optionalgroup_extension_lite                 ).a());
1015a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(118, message.GetExtension(unittest::optional_nested_message_extension_lite       ).bb());
1016a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(119, message.GetExtension(unittest::optional_foreign_message_extension_lite      ).c());
1017a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(120, message.GetExtension(unittest::optional_import_message_extension_lite       ).d());
1018a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(126, message.GetExtension(unittest::optional_public_import_message_extension_lite).e());
1019a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(127, message.GetExtension(unittest::optional_lazy_message_extension_lite         ).bb());
1020fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1021fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::TestAllTypesLite::BAZ , message.GetExtension(unittest::optional_nested_enum_extension_lite ));
1022fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_BAZ      , message.GetExtension(unittest::optional_foreign_enum_extension_lite));
1023fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest_import::IMPORT_LITE_BAZ, message.GetExtension(unittest::optional_import_enum_extension_lite ));
1024fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1025fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1026fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // -----------------------------------------------------------------
1027fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1028fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_int32_extension_lite   ));
1029fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_int64_extension_lite   ));
1030fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_uint32_extension_lite  ));
1031fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_uint64_extension_lite  ));
1032fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sint32_extension_lite  ));
1033fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sint64_extension_lite  ));
1034fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_fixed32_extension_lite ));
1035fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_fixed64_extension_lite ));
1036fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sfixed32_extension_lite));
1037fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sfixed64_extension_lite));
1038fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_float_extension_lite   ));
1039fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_double_extension_lite  ));
1040fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_bool_extension_lite    ));
1041fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_string_extension_lite  ));
1042fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_bytes_extension_lite   ));
1043fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1044fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeatedgroup_extension_lite           ));
1045fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_message_extension_lite ));
1046fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_message_extension_lite));
1047fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_message_extension_lite ));
1048a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_lazy_message_extension_lite   ));
1049fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_enum_extension_lite    ));
1050fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_enum_extension_lite   ));
1051fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_enum_extension_lite    ));
1052fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1053fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1054fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(201  , message.GetExtension(unittest::repeated_int32_extension_lite   , 0));
1055fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(202  , message.GetExtension(unittest::repeated_int64_extension_lite   , 0));
1056fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(203  , message.GetExtension(unittest::repeated_uint32_extension_lite  , 0));
1057fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(204  , message.GetExtension(unittest::repeated_uint64_extension_lite  , 0));
1058fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(205  , message.GetExtension(unittest::repeated_sint32_extension_lite  , 0));
1059fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(206  , message.GetExtension(unittest::repeated_sint64_extension_lite  , 0));
1060fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(207  , message.GetExtension(unittest::repeated_fixed32_extension_lite , 0));
1061fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(208  , message.GetExtension(unittest::repeated_fixed64_extension_lite , 0));
1062fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(209  , message.GetExtension(unittest::repeated_sfixed32_extension_lite, 0));
1063fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(210  , message.GetExtension(unittest::repeated_sfixed64_extension_lite, 0));
1064fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(211  , message.GetExtension(unittest::repeated_float_extension_lite   , 0));
1065fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(212  , message.GetExtension(unittest::repeated_double_extension_lite  , 0));
1066fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(true , message.GetExtension(unittest::repeated_bool_extension_lite    , 0));
1067fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("215", message.GetExtension(unittest::repeated_string_extension_lite  , 0));
1068fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("216", message.GetExtension(unittest::repeated_bytes_extension_lite   , 0));
1069fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1070fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(217, message.GetExtension(unittest::repeatedgroup_extension_lite           , 0).a());
1071fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(218, message.GetExtension(unittest::repeated_nested_message_extension_lite , 0).bb());
1072fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(219, message.GetExtension(unittest::repeated_foreign_message_extension_lite, 0).c());
1073fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(220, message.GetExtension(unittest::repeated_import_message_extension_lite , 0).d());
1074a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(227, message.GetExtension(unittest::repeated_lazy_message_extension_lite   , 0).bb());
1075fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1076fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::TestAllTypesLite::BAR , message.GetExtension(unittest::repeated_nested_enum_extension_lite , 0));
1077fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_BAR      , message.GetExtension(unittest::repeated_foreign_enum_extension_lite, 0));
1078fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest_import::IMPORT_LITE_BAR, message.GetExtension(unittest::repeated_import_enum_extension_lite , 0));
1079fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1080fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1081fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(301  , message.GetExtension(unittest::repeated_int32_extension_lite   , 1));
1082fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(302  , message.GetExtension(unittest::repeated_int64_extension_lite   , 1));
1083fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(303  , message.GetExtension(unittest::repeated_uint32_extension_lite  , 1));
1084fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(304  , message.GetExtension(unittest::repeated_uint64_extension_lite  , 1));
1085fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(305  , message.GetExtension(unittest::repeated_sint32_extension_lite  , 1));
1086fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(306  , message.GetExtension(unittest::repeated_sint64_extension_lite  , 1));
1087fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(307  , message.GetExtension(unittest::repeated_fixed32_extension_lite , 1));
1088fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(308  , message.GetExtension(unittest::repeated_fixed64_extension_lite , 1));
1089fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(309  , message.GetExtension(unittest::repeated_sfixed32_extension_lite, 1));
1090fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(310  , message.GetExtension(unittest::repeated_sfixed64_extension_lite, 1));
1091fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(311  , message.GetExtension(unittest::repeated_float_extension_lite   , 1));
1092fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(312  , message.GetExtension(unittest::repeated_double_extension_lite  , 1));
1093fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(false, message.GetExtension(unittest::repeated_bool_extension_lite    , 1));
1094fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("315", message.GetExtension(unittest::repeated_string_extension_lite  , 1));
1095fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("316", message.GetExtension(unittest::repeated_bytes_extension_lite   , 1));
1096fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1097fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(317, message.GetExtension(unittest::repeatedgroup_extension_lite           , 1).a());
1098fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(318, message.GetExtension(unittest::repeated_nested_message_extension_lite , 1).bb());
1099fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(319, message.GetExtension(unittest::repeated_foreign_message_extension_lite, 1).c());
1100fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(320, message.GetExtension(unittest::repeated_import_message_extension_lite , 1).d());
1101a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(327, message.GetExtension(unittest::repeated_lazy_message_extension_lite   , 1).bb());
1102fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1103fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::TestAllTypesLite::BAZ , message.GetExtension(unittest::repeated_nested_enum_extension_lite , 1));
1104fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_BAZ      , message.GetExtension(unittest::repeated_foreign_enum_extension_lite, 1));
1105fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest_import::IMPORT_LITE_BAZ, message.GetExtension(unittest::repeated_import_enum_extension_lite , 1));
1106fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1107fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1108fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // -----------------------------------------------------------------
1109fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1110fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::default_int32_extension_lite   ));
1111fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::default_int64_extension_lite   ));
1112fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::default_uint32_extension_lite  ));
1113fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::default_uint64_extension_lite  ));
1114fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::default_sint32_extension_lite  ));
1115fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::default_sint64_extension_lite  ));
1116fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::default_fixed32_extension_lite ));
1117fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::default_fixed64_extension_lite ));
1118fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::default_sfixed32_extension_lite));
1119fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::default_sfixed64_extension_lite));
1120fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::default_float_extension_lite   ));
1121fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::default_double_extension_lite  ));
1122fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::default_bool_extension_lite    ));
1123fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::default_string_extension_lite  ));
1124fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::default_bytes_extension_lite   ));
1125fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1126fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::default_nested_enum_extension_lite ));
1127fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::default_foreign_enum_extension_lite));
1128fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_TRUE(message.HasExtension(unittest::default_import_enum_extension_lite ));
1129fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1130fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1131fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(401  , message.GetExtension(unittest::default_int32_extension_lite   ));
1132fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(402  , message.GetExtension(unittest::default_int64_extension_lite   ));
1133fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(403  , message.GetExtension(unittest::default_uint32_extension_lite  ));
1134fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(404  , message.GetExtension(unittest::default_uint64_extension_lite  ));
1135fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(405  , message.GetExtension(unittest::default_sint32_extension_lite  ));
1136fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(406  , message.GetExtension(unittest::default_sint64_extension_lite  ));
1137fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(407  , message.GetExtension(unittest::default_fixed32_extension_lite ));
1138fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(408  , message.GetExtension(unittest::default_fixed64_extension_lite ));
1139fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(409  , message.GetExtension(unittest::default_sfixed32_extension_lite));
1140fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(410  , message.GetExtension(unittest::default_sfixed64_extension_lite));
1141fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(411  , message.GetExtension(unittest::default_float_extension_lite   ));
1142fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(412  , message.GetExtension(unittest::default_double_extension_lite  ));
1143fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(false, message.GetExtension(unittest::default_bool_extension_lite    ));
1144fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("415", message.GetExtension(unittest::default_string_extension_lite  ));
1145fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("416", message.GetExtension(unittest::default_bytes_extension_lite   ));
1146fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1147fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::TestAllTypesLite::FOO , message.GetExtension(unittest::default_nested_enum_extension_lite ));
1148fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_FOO      , message.GetExtension(unittest::default_foreign_enum_extension_lite));
1149fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest_import::IMPORT_LITE_FOO, message.GetExtension(unittest::default_import_enum_extension_lite ));
1150fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1151a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson
1152a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.HasExtension(unittest::oneof_uint32_extension_lite));
1153a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.GetExtension(unittest::oneof_nested_message_extension_lite).has_bb());
1154a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.HasExtension(unittest::oneof_string_extension_lite));
1155a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_TRUE(message.HasExtension(unittest::oneof_bytes_extension_lite));
1156a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson
1157a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(601, message.GetExtension(unittest::oneof_uint32_extension_lite));
1158a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(602, message.GetExtension(unittest::oneof_nested_message_extension_lite).bb());
1159a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ("603", message.GetExtension(unittest::oneof_string_extension_lite));
1160a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ("604", message.GetExtension(unittest::oneof_bytes_extension_lite));
1161fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville}
1162fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1163fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// -------------------------------------------------------------------
1164fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1165fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtilLite::ExpectExtensionsClear(
1166fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville    const unittest::TestAllExtensionsLite& message) {
1167fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  string serialized;
1168fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_TRUE(message.SerializeToString(&serialized));
1169fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("", serialized);
1170fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ByteSize());
1171fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1172fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // has_blah() should initially be false for all optional fields.
1173fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::optional_int32_extension_lite   ));
1174fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::optional_int64_extension_lite   ));
1175fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::optional_uint32_extension_lite  ));
1176fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::optional_uint64_extension_lite  ));
1177fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::optional_sint32_extension_lite  ));
1178fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::optional_sint64_extension_lite  ));
1179fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::optional_fixed32_extension_lite ));
1180fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::optional_fixed64_extension_lite ));
1181fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::optional_sfixed32_extension_lite));
1182fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::optional_sfixed64_extension_lite));
1183fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::optional_float_extension_lite   ));
1184fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::optional_double_extension_lite  ));
1185fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::optional_bool_extension_lite    ));
1186fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::optional_string_extension_lite  ));
1187fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::optional_bytes_extension_lite   ));
1188fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1189a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.HasExtension(unittest::optionalgroup_extension_lite                 ));
1190a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.HasExtension(unittest::optional_nested_message_extension_lite       ));
1191a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.HasExtension(unittest::optional_foreign_message_extension_lite      ));
1192a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.HasExtension(unittest::optional_import_message_extension_lite       ));
1193a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.HasExtension(unittest::optional_public_import_message_extension_lite));
1194a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.HasExtension(unittest::optional_lazy_message_extension_lite         ));
1195fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1196fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::optional_nested_enum_extension_lite ));
1197fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::optional_foreign_enum_extension_lite));
1198fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::optional_import_enum_extension_lite ));
1199fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1200fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1201fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // Optional fields without defaults are set to zero or something like it.
1202fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.GetExtension(unittest::optional_int32_extension_lite   ));
1203fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.GetExtension(unittest::optional_int64_extension_lite   ));
1204fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.GetExtension(unittest::optional_uint32_extension_lite  ));
1205fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.GetExtension(unittest::optional_uint64_extension_lite  ));
1206fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.GetExtension(unittest::optional_sint32_extension_lite  ));
1207fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.GetExtension(unittest::optional_sint64_extension_lite  ));
1208fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.GetExtension(unittest::optional_fixed32_extension_lite ));
1209fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.GetExtension(unittest::optional_fixed64_extension_lite ));
1210fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.GetExtension(unittest::optional_sfixed32_extension_lite));
1211fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.GetExtension(unittest::optional_sfixed64_extension_lite));
1212fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.GetExtension(unittest::optional_float_extension_lite   ));
1213fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0    , message.GetExtension(unittest::optional_double_extension_lite  ));
1214fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(false, message.GetExtension(unittest::optional_bool_extension_lite    ));
1215fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(""   , message.GetExtension(unittest::optional_string_extension_lite  ));
1216fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(""   , message.GetExtension(unittest::optional_bytes_extension_lite   ));
1217fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1218fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // Embedded messages should also be clear.
1219a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.GetExtension(unittest::optionalgroup_extension_lite                 ).has_a());
1220a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.GetExtension(unittest::optional_nested_message_extension_lite       ).has_bb());
1221a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.GetExtension(unittest::optional_foreign_message_extension_lite      ).has_c());
1222a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.GetExtension(unittest::optional_import_message_extension_lite       ).has_d());
1223a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.GetExtension(unittest::optional_public_import_message_extension_lite).has_e());
1224a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.GetExtension(unittest::optional_lazy_message_extension_lite         ).has_bb());
1225a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson
1226a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(0, message.GetExtension(unittest::optionalgroup_extension_lite                 ).a());
1227a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(0, message.GetExtension(unittest::optional_nested_message_extension_lite       ).bb());
1228a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(0, message.GetExtension(unittest::optional_foreign_message_extension_lite      ).c());
1229a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(0, message.GetExtension(unittest::optional_import_message_extension_lite       ).d());
1230a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(0, message.GetExtension(unittest::optional_public_import_message_extension_lite).e());
1231a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(0, message.GetExtension(unittest::optional_lazy_message_extension_lite         ).bb());
1232fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1233fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // Enums without defaults are set to the first value in the enum.
1234fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::TestAllTypesLite::FOO , message.GetExtension(unittest::optional_nested_enum_extension_lite ));
1235fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_FOO      , message.GetExtension(unittest::optional_foreign_enum_extension_lite));
1236fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest_import::IMPORT_LITE_FOO, message.GetExtension(unittest::optional_import_enum_extension_lite ));
1237fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1238fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1239fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // Repeated fields are empty.
1240fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_int32_extension_lite   ));
1241fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_int64_extension_lite   ));
1242fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_uint32_extension_lite  ));
1243fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_uint64_extension_lite  ));
1244fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_sint32_extension_lite  ));
1245fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_sint64_extension_lite  ));
1246fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_fixed32_extension_lite ));
1247fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_fixed64_extension_lite ));
1248fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_sfixed32_extension_lite));
1249fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_sfixed64_extension_lite));
1250fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_float_extension_lite   ));
1251fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_double_extension_lite  ));
1252fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_bool_extension_lite    ));
1253fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_string_extension_lite  ));
1254fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_bytes_extension_lite   ));
1255fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1256fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::repeatedgroup_extension_lite           ));
1257fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_nested_message_extension_lite ));
1258fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_foreign_message_extension_lite));
1259fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_import_message_extension_lite ));
1260a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_lazy_message_extension_lite   ));
1261fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_nested_enum_extension_lite    ));
1262fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_foreign_enum_extension_lite   ));
1263fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_import_enum_extension_lite    ));
1264fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1265fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1266fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // has_blah() should also be false for all default fields.
1267fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::default_int32_extension_lite   ));
1268fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::default_int64_extension_lite   ));
1269fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::default_uint32_extension_lite  ));
1270fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::default_uint64_extension_lite  ));
1271fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::default_sint32_extension_lite  ));
1272fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::default_sint64_extension_lite  ));
1273fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::default_fixed32_extension_lite ));
1274fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::default_fixed64_extension_lite ));
1275fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::default_sfixed32_extension_lite));
1276fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::default_sfixed64_extension_lite));
1277fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::default_float_extension_lite   ));
1278fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::default_double_extension_lite  ));
1279fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::default_bool_extension_lite    ));
1280fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::default_string_extension_lite  ));
1281fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::default_bytes_extension_lite   ));
1282fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1283fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::default_nested_enum_extension_lite ));
1284fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::default_foreign_enum_extension_lite));
1285fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_FALSE(message.HasExtension(unittest::default_import_enum_extension_lite ));
1286fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1287fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1288fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // Fields with defaults have their default values (duh).
1289fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ( 41    , message.GetExtension(unittest::default_int32_extension_lite   ));
1290fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ( 42    , message.GetExtension(unittest::default_int64_extension_lite   ));
1291fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ( 43    , message.GetExtension(unittest::default_uint32_extension_lite  ));
1292fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ( 44    , message.GetExtension(unittest::default_uint64_extension_lite  ));
1293fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(-45    , message.GetExtension(unittest::default_sint32_extension_lite  ));
1294fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ( 46    , message.GetExtension(unittest::default_sint64_extension_lite  ));
1295fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ( 47    , message.GetExtension(unittest::default_fixed32_extension_lite ));
1296fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ( 48    , message.GetExtension(unittest::default_fixed64_extension_lite ));
1297fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ( 49    , message.GetExtension(unittest::default_sfixed32_extension_lite));
1298fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(-50    , message.GetExtension(unittest::default_sfixed64_extension_lite));
1299fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ( 51.5  , message.GetExtension(unittest::default_float_extension_lite   ));
1300fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ( 52e3  , message.GetExtension(unittest::default_double_extension_lite  ));
1301fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(true   , message.GetExtension(unittest::default_bool_extension_lite    ));
1302fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("hello", message.GetExtension(unittest::default_string_extension_lite  ));
1303fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("world", message.GetExtension(unittest::default_bytes_extension_lite   ));
1304fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1305fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::TestAllTypesLite::BAR , message.GetExtension(unittest::default_nested_enum_extension_lite ));
1306fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_BAR      , message.GetExtension(unittest::default_foreign_enum_extension_lite));
1307fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest_import::IMPORT_LITE_BAR, message.GetExtension(unittest::default_import_enum_extension_lite ));
1308fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1309a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson
1310a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.HasExtension(unittest::oneof_uint32_extension_lite));
1311a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.GetExtension(unittest::oneof_nested_message_extension_lite).has_bb());
1312a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.HasExtension(unittest::oneof_string_extension_lite));
1313a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_FALSE(message.HasExtension(unittest::oneof_bytes_extension_lite));
1314fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville}
1315fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1316fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// -------------------------------------------------------------------
1317fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1318fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtilLite::ExpectRepeatedExtensionsModified(
1319fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville    const unittest::TestAllExtensionsLite& message) {
1320fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // ModifyRepeatedFields only sets the second repeated element of each
1321fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // field.  In addition to verifying this, we also verify that the first
1322fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // element and size were *not* modified.
1323fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_int32_extension_lite   ));
1324fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_int64_extension_lite   ));
1325fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_uint32_extension_lite  ));
1326fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_uint64_extension_lite  ));
1327fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sint32_extension_lite  ));
1328fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sint64_extension_lite  ));
1329fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_fixed32_extension_lite ));
1330fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_fixed64_extension_lite ));
1331fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sfixed32_extension_lite));
1332fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sfixed64_extension_lite));
1333fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_float_extension_lite   ));
1334fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_double_extension_lite  ));
1335fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_bool_extension_lite    ));
1336fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_string_extension_lite  ));
1337fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_bytes_extension_lite   ));
1338fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1339fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeatedgroup_extension_lite           ));
1340fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_message_extension_lite ));
1341fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_message_extension_lite));
1342fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_message_extension_lite ));
1343a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_lazy_message_extension_lite   ));
1344fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_enum_extension_lite    ));
1345fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_enum_extension_lite   ));
1346fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_enum_extension_lite    ));
1347fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1348fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1349fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(201  , message.GetExtension(unittest::repeated_int32_extension_lite   , 0));
1350fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(202  , message.GetExtension(unittest::repeated_int64_extension_lite   , 0));
1351fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(203  , message.GetExtension(unittest::repeated_uint32_extension_lite  , 0));
1352fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(204  , message.GetExtension(unittest::repeated_uint64_extension_lite  , 0));
1353fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(205  , message.GetExtension(unittest::repeated_sint32_extension_lite  , 0));
1354fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(206  , message.GetExtension(unittest::repeated_sint64_extension_lite  , 0));
1355fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(207  , message.GetExtension(unittest::repeated_fixed32_extension_lite , 0));
1356fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(208  , message.GetExtension(unittest::repeated_fixed64_extension_lite , 0));
1357fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(209  , message.GetExtension(unittest::repeated_sfixed32_extension_lite, 0));
1358fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(210  , message.GetExtension(unittest::repeated_sfixed64_extension_lite, 0));
1359fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(211  , message.GetExtension(unittest::repeated_float_extension_lite   , 0));
1360fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(212  , message.GetExtension(unittest::repeated_double_extension_lite  , 0));
1361fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(true , message.GetExtension(unittest::repeated_bool_extension_lite    , 0));
1362fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("215", message.GetExtension(unittest::repeated_string_extension_lite  , 0));
1363fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("216", message.GetExtension(unittest::repeated_bytes_extension_lite   , 0));
1364fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1365fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(217, message.GetExtension(unittest::repeatedgroup_extension_lite           , 0).a());
1366fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(218, message.GetExtension(unittest::repeated_nested_message_extension_lite , 0).bb());
1367fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(219, message.GetExtension(unittest::repeated_foreign_message_extension_lite, 0).c());
1368fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(220, message.GetExtension(unittest::repeated_import_message_extension_lite , 0).d());
1369a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(227, message.GetExtension(unittest::repeated_lazy_message_extension_lite   , 0).bb());
1370fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1371fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::TestAllTypesLite::BAR , message.GetExtension(unittest::repeated_nested_enum_extension_lite , 0));
1372fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_BAR      , message.GetExtension(unittest::repeated_foreign_enum_extension_lite, 0));
1373fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest_import::IMPORT_LITE_BAR, message.GetExtension(unittest::repeated_import_enum_extension_lite , 0));
1374fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1375fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1376fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // Actually verify the second (modified) elements now.
1377fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(501  , message.GetExtension(unittest::repeated_int32_extension_lite   , 1));
1378fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(502  , message.GetExtension(unittest::repeated_int64_extension_lite   , 1));
1379fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(503  , message.GetExtension(unittest::repeated_uint32_extension_lite  , 1));
1380fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(504  , message.GetExtension(unittest::repeated_uint64_extension_lite  , 1));
1381fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(505  , message.GetExtension(unittest::repeated_sint32_extension_lite  , 1));
1382fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(506  , message.GetExtension(unittest::repeated_sint64_extension_lite  , 1));
1383fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(507  , message.GetExtension(unittest::repeated_fixed32_extension_lite , 1));
1384fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(508  , message.GetExtension(unittest::repeated_fixed64_extension_lite , 1));
1385fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(509  , message.GetExtension(unittest::repeated_sfixed32_extension_lite, 1));
1386fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(510  , message.GetExtension(unittest::repeated_sfixed64_extension_lite, 1));
1387fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(511  , message.GetExtension(unittest::repeated_float_extension_lite   , 1));
1388fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(512  , message.GetExtension(unittest::repeated_double_extension_lite  , 1));
1389fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(true , message.GetExtension(unittest::repeated_bool_extension_lite    , 1));
1390fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("515", message.GetExtension(unittest::repeated_string_extension_lite  , 1));
1391fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ("516", message.GetExtension(unittest::repeated_bytes_extension_lite   , 1));
1392fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1393fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(517, message.GetExtension(unittest::repeatedgroup_extension_lite           , 1).a());
1394fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(518, message.GetExtension(unittest::repeated_nested_message_extension_lite , 1).bb());
1395fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(519, message.GetExtension(unittest::repeated_foreign_message_extension_lite, 1).c());
1396fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(520, message.GetExtension(unittest::repeated_import_message_extension_lite , 1).d());
1397a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson  EXPECT_EQ(527, message.GetExtension(unittest::repeated_lazy_message_extension_lite   , 1).bb());
1398fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1399fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::TestAllTypesLite::FOO , message.GetExtension(unittest::repeated_nested_enum_extension_lite , 1));
1400fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_FOO      , message.GetExtension(unittest::repeated_foreign_enum_extension_lite, 1));
1401fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest_import::IMPORT_LITE_FOO, message.GetExtension(unittest::repeated_import_enum_extension_lite , 1));
1402fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1403fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville}
1404fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1405fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// -------------------------------------------------------------------
1406fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1407fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtilLite::SetPackedExtensions(
1408fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville    unittest::TestPackedExtensionsLite* message) {
1409fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_int32_extension_lite   , 601);
1410fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_int64_extension_lite   , 602);
1411fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_uint32_extension_lite  , 603);
1412fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_uint64_extension_lite  , 604);
1413fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_sint32_extension_lite  , 605);
1414fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_sint64_extension_lite  , 606);
1415fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_fixed32_extension_lite , 607);
1416fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_fixed64_extension_lite , 608);
1417fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_sfixed32_extension_lite, 609);
1418fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_sfixed64_extension_lite, 610);
1419fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_float_extension_lite   , 611);
1420fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_double_extension_lite  , 612);
1421fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_bool_extension_lite    , true);
1422fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_enum_extension_lite, unittest::FOREIGN_LITE_BAR);
1423fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // add a second one of each field
1424fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_int32_extension_lite   , 701);
1425fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_int64_extension_lite   , 702);
1426fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_uint32_extension_lite  , 703);
1427fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_uint64_extension_lite  , 704);
1428fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_sint32_extension_lite  , 705);
1429fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_sint64_extension_lite  , 706);
1430fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_fixed32_extension_lite , 707);
1431fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_fixed64_extension_lite , 708);
1432fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_sfixed32_extension_lite, 709);
1433fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_sfixed64_extension_lite, 710);
1434fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_float_extension_lite   , 711);
1435fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_double_extension_lite  , 712);
1436fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_bool_extension_lite    , false);
1437fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->AddExtension(unittest::packed_enum_extension_lite, unittest::FOREIGN_LITE_BAZ);
1438fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville}
1439fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1440fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// -------------------------------------------------------------------
1441fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1442fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtilLite::ModifyPackedExtensions(
1443fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville    unittest::TestPackedExtensionsLite* message) {
1444fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::packed_int32_extension_lite   , 1, 801);
1445fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::packed_int64_extension_lite   , 1, 802);
1446fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::packed_uint32_extension_lite  , 1, 803);
1447fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::packed_uint64_extension_lite  , 1, 804);
1448fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::packed_sint32_extension_lite  , 1, 805);
1449fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::packed_sint64_extension_lite  , 1, 806);
1450fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::packed_fixed32_extension_lite , 1, 807);
1451fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::packed_fixed64_extension_lite , 1, 808);
1452fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::packed_sfixed32_extension_lite, 1, 809);
1453fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::packed_sfixed64_extension_lite, 1, 810);
1454fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::packed_float_extension_lite   , 1, 811);
1455fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::packed_double_extension_lite  , 1, 812);
1456fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::packed_bool_extension_lite    , 1, true);
1457fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  message->SetExtension(unittest::packed_enum_extension_lite    , 1,
1458fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville                        unittest::FOREIGN_LITE_FOO);
1459fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville}
1460fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1461fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// -------------------------------------------------------------------
1462fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1463fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtilLite::ExpectPackedExtensionsSet(
1464fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville    const unittest::TestPackedExtensionsLite& message) {
1465fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_int32_extension_lite   ));
1466fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_int64_extension_lite   ));
1467fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_uint32_extension_lite  ));
1468fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_uint64_extension_lite  ));
1469fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sint32_extension_lite  ));
1470fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sint64_extension_lite  ));
1471fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_fixed32_extension_lite ));
1472fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_fixed64_extension_lite ));
1473fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sfixed32_extension_lite));
1474fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sfixed64_extension_lite));
1475fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_float_extension_lite   ));
1476fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_double_extension_lite  ));
1477fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_bool_extension_lite    ));
1478fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_enum_extension_lite    ));
1479fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1480fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(601  , message.GetExtension(unittest::packed_int32_extension_lite   , 0));
1481fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(602  , message.GetExtension(unittest::packed_int64_extension_lite   , 0));
1482fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(603  , message.GetExtension(unittest::packed_uint32_extension_lite  , 0));
1483fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(604  , message.GetExtension(unittest::packed_uint64_extension_lite  , 0));
1484fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(605  , message.GetExtension(unittest::packed_sint32_extension_lite  , 0));
1485fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(606  , message.GetExtension(unittest::packed_sint64_extension_lite  , 0));
1486fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(607  , message.GetExtension(unittest::packed_fixed32_extension_lite , 0));
1487fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(608  , message.GetExtension(unittest::packed_fixed64_extension_lite , 0));
1488fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(609  , message.GetExtension(unittest::packed_sfixed32_extension_lite, 0));
1489fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(610  , message.GetExtension(unittest::packed_sfixed64_extension_lite, 0));
1490fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(611  , message.GetExtension(unittest::packed_float_extension_lite   , 0));
1491fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(612  , message.GetExtension(unittest::packed_double_extension_lite  , 0));
1492fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(true , message.GetExtension(unittest::packed_bool_extension_lite    , 0));
1493fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_BAR,
1494fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville            message.GetExtension(unittest::packed_enum_extension_lite, 0));
1495fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(701  , message.GetExtension(unittest::packed_int32_extension_lite   , 1));
1496fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(702  , message.GetExtension(unittest::packed_int64_extension_lite   , 1));
1497fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(703  , message.GetExtension(unittest::packed_uint32_extension_lite  , 1));
1498fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(704  , message.GetExtension(unittest::packed_uint64_extension_lite  , 1));
1499fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(705  , message.GetExtension(unittest::packed_sint32_extension_lite  , 1));
1500fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(706  , message.GetExtension(unittest::packed_sint64_extension_lite  , 1));
1501fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(707  , message.GetExtension(unittest::packed_fixed32_extension_lite , 1));
1502fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(708  , message.GetExtension(unittest::packed_fixed64_extension_lite , 1));
1503fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(709  , message.GetExtension(unittest::packed_sfixed32_extension_lite, 1));
1504fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(710  , message.GetExtension(unittest::packed_sfixed64_extension_lite, 1));
1505fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(711  , message.GetExtension(unittest::packed_float_extension_lite   , 1));
1506fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(712  , message.GetExtension(unittest::packed_double_extension_lite  , 1));
1507fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(false, message.GetExtension(unittest::packed_bool_extension_lite    , 1));
1508fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_BAZ,
1509fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville            message.GetExtension(unittest::packed_enum_extension_lite, 1));
1510fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville}
1511fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1512fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// -------------------------------------------------------------------
1513fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1514fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtilLite::ExpectPackedExtensionsClear(
1515fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville    const unittest::TestPackedExtensionsLite& message) {
1516fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::packed_int32_extension_lite   ));
1517fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::packed_int64_extension_lite   ));
1518fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::packed_uint32_extension_lite  ));
1519fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::packed_uint64_extension_lite  ));
1520fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::packed_sint32_extension_lite  ));
1521fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::packed_sint64_extension_lite  ));
1522fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::packed_fixed32_extension_lite ));
1523fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::packed_fixed64_extension_lite ));
1524fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::packed_sfixed32_extension_lite));
1525fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::packed_sfixed64_extension_lite));
1526fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::packed_float_extension_lite   ));
1527fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::packed_double_extension_lite  ));
1528fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::packed_bool_extension_lite    ));
1529fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(0, message.ExtensionSize(unittest::packed_enum_extension_lite    ));
1530fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville}
1531fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1532fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville// -------------------------------------------------------------------
1533fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1534fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillevoid TestUtilLite::ExpectPackedExtensionsModified(
1535fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville    const unittest::TestPackedExtensionsLite& message) {
1536fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_int32_extension_lite   ));
1537fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_int64_extension_lite   ));
1538fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_uint32_extension_lite  ));
1539fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_uint64_extension_lite  ));
1540fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sint32_extension_lite  ));
1541fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sint64_extension_lite  ));
1542fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_fixed32_extension_lite ));
1543fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_fixed64_extension_lite ));
1544fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sfixed32_extension_lite));
1545fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sfixed64_extension_lite));
1546fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_float_extension_lite   ));
1547fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_double_extension_lite  ));
1548fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_bool_extension_lite    ));
1549fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  ASSERT_EQ(2, message.ExtensionSize(unittest::packed_enum_extension_lite    ));
1550fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(601  , message.GetExtension(unittest::packed_int32_extension_lite   , 0));
1551fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(602  , message.GetExtension(unittest::packed_int64_extension_lite   , 0));
1552fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(603  , message.GetExtension(unittest::packed_uint32_extension_lite  , 0));
1553fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(604  , message.GetExtension(unittest::packed_uint64_extension_lite  , 0));
1554fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(605  , message.GetExtension(unittest::packed_sint32_extension_lite  , 0));
1555fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(606  , message.GetExtension(unittest::packed_sint64_extension_lite  , 0));
1556fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(607  , message.GetExtension(unittest::packed_fixed32_extension_lite , 0));
1557fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(608  , message.GetExtension(unittest::packed_fixed64_extension_lite , 0));
1558fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(609  , message.GetExtension(unittest::packed_sfixed32_extension_lite, 0));
1559fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(610  , message.GetExtension(unittest::packed_sfixed64_extension_lite, 0));
1560fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(611  , message.GetExtension(unittest::packed_float_extension_lite   , 0));
1561fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(612  , message.GetExtension(unittest::packed_double_extension_lite  , 0));
1562fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(true , message.GetExtension(unittest::packed_bool_extension_lite    , 0));
1563fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_BAR,
1564fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville            message.GetExtension(unittest::packed_enum_extension_lite, 0));
1565fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1566fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  // Actually verify the second (modified) elements now.
1567fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(801  , message.GetExtension(unittest::packed_int32_extension_lite   , 1));
1568fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(802  , message.GetExtension(unittest::packed_int64_extension_lite   , 1));
1569fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(803  , message.GetExtension(unittest::packed_uint32_extension_lite  , 1));
1570fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(804  , message.GetExtension(unittest::packed_uint64_extension_lite  , 1));
1571fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(805  , message.GetExtension(unittest::packed_sint32_extension_lite  , 1));
1572fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(806  , message.GetExtension(unittest::packed_sint64_extension_lite  , 1));
1573fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(807  , message.GetExtension(unittest::packed_fixed32_extension_lite , 1));
1574fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(808  , message.GetExtension(unittest::packed_fixed64_extension_lite , 1));
1575fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(809  , message.GetExtension(unittest::packed_sfixed32_extension_lite, 1));
1576fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(810  , message.GetExtension(unittest::packed_sfixed64_extension_lite, 1));
1577fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(811  , message.GetExtension(unittest::packed_float_extension_lite   , 1));
1578fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(812  , message.GetExtension(unittest::packed_double_extension_lite  , 1));
1579fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(true , message.GetExtension(unittest::packed_bool_extension_lite    , 1));
1580fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville  EXPECT_EQ(unittest::FOREIGN_LITE_FOO,
1581fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville            message.GetExtension(unittest::packed_enum_extension_lite, 1));
1582fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville}
1583fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville
1584fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville}  // namespace protobuf
1585fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville}  // namespace google
1586