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