Lines Matching refs:message

43 #include <google/protobuf/message.h>
52 void TestUtil::SetAllFields(unittest::TestAllTypes* message) {
53 message->set_optional_int32 (101);
54 message->set_optional_int64 (102);
55 message->set_optional_uint32 (103);
56 message->set_optional_uint64 (104);
57 message->set_optional_sint32 (105);
58 message->set_optional_sint64 (106);
59 message->set_optional_fixed32 (107);
60 message->set_optional_fixed64 (108);
61 message->set_optional_sfixed32(109);
62 message->set_optional_sfixed64(110);
63 message->set_optional_float (111);
64 message->set_optional_double (112);
65 message->set_optional_bool (true);
66 message->set_optional_string ("115");
67 message->set_optional_bytes ("116");
69 message->mutable_optionalgroup ()->set_a(117);
70 message->mutable_optional_nested_message ()->set_bb(118);
71 message->mutable_optional_foreign_message()->set_c(119);
72 message->mutable_optional_import_message ()->set_d(120);
74 message->set_optional_nested_enum (unittest::TestAllTypes::BAZ);
75 message->set_optional_foreign_enum(unittest::FOREIGN_BAZ );
76 message->set_optional_import_enum (unittest_import::IMPORT_BAZ);
81 message->GetReflection()->SetString(
82 message,
83 message->GetDescriptor()->FindFieldByName("optional_string_piece"),
85 message->GetReflection()->SetString(
86 message,
87 message->GetDescriptor()->FindFieldByName("optional_cord"),
93 message->add_repeated_int32 (201);
94 message->add_repeated_int64 (202);
95 message->add_repeated_uint32 (203);
96 message->add_repeated_uint64 (204);
97 message->add_repeated_sint32 (205);
98 message->add_repeated_sint64 (206);
99 message->add_repeated_fixed32 (207);
100 message->add_repeated_fixed64 (208);
101 message->add_repeated_sfixed32(209);
102 message->add_repeated_sfixed64(210);
103 message->add_repeated_float (211);
104 message->add_repeated_double (212);
105 message->add_repeated_bool (true);
106 message->add_repeated_string ("215");
107 message->add_repeated_bytes ("216");
109 message->add_repeatedgroup ()->set_a(217);
110 message->add_repeated_nested_message ()->set_bb(218);
111 message->add_repeated_foreign_message()->set_c(219);
112 message->add_repeated_import_message ()->set_d(220);
114 message->add_repeated_nested_enum (unittest::TestAllTypes::BAR);
115 message->add_repeated_foreign_enum(unittest::FOREIGN_BAR );
116 message->add_repeated_import_enum (unittest_import::IMPORT_BAR);
119 message->GetReflection()->AddString(
120 message,
121 message->GetDescriptor()->FindFieldByName("repeated_string_piece"),
123 message->GetReflection()->AddString(
124 message,
125 message->GetDescriptor()->FindFieldByName("repeated_cord"),
130 message->add_repeated_int32 (301);
131 message->add_repeated_int64 (302);
132 message->add_repeated_uint32 (303);
133 message->add_repeated_uint64 (304);
134 message->add_repeated_sint32 (305);
135 message->add_repeated_sint64 (306);
136 message->add_repeated_fixed32 (307);
137 message->add_repeated_fixed64 (308);
138 message->add_repeated_sfixed32(309);
139 message->add_repeated_sfixed64(310);
140 message->add_repeated_float (311);
141 message->add_repeated_double (312);
142 message->add_repeated_bool (false);
143 message->add_repeated_string ("315");
144 message->add_repeated_bytes ("316");
146 message->add_repeatedgroup ()->set_a(317);
147 message->add_repeated_nested_message ()->set_bb(318);
148 message->add_repeated_foreign_message()->set_c(319);
149 message->add_repeated_import_message ()->set_d(320);
151 message->add_repeated_nested_enum (unittest::TestAllTypes::BAZ);
152 message->add_repeated_foreign_enum(unittest::FOREIGN_BAZ );
153 message->add_repeated_import_enum (unittest_import::IMPORT_BAZ);
156 message->GetReflection()->AddString(
157 message,
158 message->GetDescriptor()->FindFieldByName("repeated_string_piece"),
160 message->GetReflection()->AddString(
161 message,
162 message->GetDescriptor()->FindFieldByName("repeated_cord"),
168 message->set_default_int32 (401);
169 message->set_default_int64 (402);
170 message->set_default_uint32 (403);
171 message->set_default_uint64 (404);
172 message->set_default_sint32 (405);
173 message->set_default_sint64 (406);
174 message->set_default_fixed32 (407);
175 message->set_default_fixed64 (408);
176 message->set_default_sfixed32(409);
177 message->set_default_sfixed64(410);
178 message->set_default_float (411);
179 message->set_default_double (412);
180 message->set_default_bool (false);
181 message->set_default_string ("415");
182 message->set_default_bytes ("416");
184 message->set_default_nested_enum (unittest::TestAllTypes::FOO);
185 message->set_default_foreign_enum(unittest::FOREIGN_FOO );
186 message->set_default_import_enum (unittest_import::IMPORT_FOO);
189 message->GetReflection()->SetString(
190 message,
191 message->GetDescriptor()->FindFieldByName("default_string_piece"),
193 message->GetReflection()->SetString(
194 message,
195 message->GetDescriptor()->FindFieldByName("default_cord"),
202 void TestUtil::ModifyRepeatedFields(unittest::TestAllTypes* message) {
203 message->set_repeated_int32 (1, 501);
204 message->set_repeated_int64 (1, 502);
205 message->set_repeated_uint32 (1, 503);
206 message->set_repeated_uint64 (1, 504);
207 message->set_repeated_sint32 (1, 505);
208 message->set_repeated_sint64 (1, 506);
209 message->set_repeated_fixed32 (1, 507);
210 message->set_repeated_fixed64 (1, 508);
211 message->set_repeated_sfixed32(1, 509);
212 message->set_repeated_sfixed64(1, 510);
213 message->set_repeated_float (1, 511);
214 message->set_repeated_double (1, 512);
215 message->set_repeated_bool (1, true);
216 message->set_repeated_string (1, "515");
217 message->set_repeated_bytes (1, "516");
219 message->mutable_repeatedgroup (1)->set_a(517);
220 message->mutable_repeated_nested_message (1)->set_bb(518);
221 message->mutable_repeated_foreign_message(1)->set_c(519);
222 message->mutable_repeated_import_message (1)->set_d(520);
224 message->set_repeated_nested_enum (1, unittest::TestAllTypes::FOO);
225 message->set_repeated_foreign_enum(1, unittest::FOREIGN_FOO );
226 message->set_repeated_import_enum (1, unittest_import::IMPORT_FOO);
229 message->GetReflection()->SetRepeatedString(
230 message,
231 message->GetDescriptor()->FindFieldByName("repeated_string_piece"),
233 message->GetReflection()->SetRepeatedString(
234 message,
235 message->GetDescriptor()->FindFieldByName("repeated_cord"),
242 void TestUtil::ExpectAllFieldsSet(const unittest::TestAllTypes& message) {
243 EXPECT_TRUE(message.has_optional_int32 ());
244 EXPECT_TRUE(message.has_optional_int64 ());
245 EXPECT_TRUE(message.has_optional_uint32 ());
246 EXPECT_TRUE(message.has_optional_uint64 ());
247 EXPECT_TRUE(message.has_optional_sint32 ());
248 EXPECT_TRUE(message.has_optional_sint64 ());
249 EXPECT_TRUE(message.has_optional_fixed32 ());
250 EXPECT_TRUE(message.has_optional_fixed64 ());
251 EXPECT_TRUE(message.has_optional_sfixed32());
252 EXPECT_TRUE(message.has_optional_sfixed64());
253 EXPECT_TRUE(message.has_optional_float ());
254 EXPECT_TRUE(message.has_optional_double ());
255 EXPECT_TRUE(message.has_optional_bool ());
256 EXPECT_TRUE(message.has_optional_string ());
257 EXPECT_TRUE(message.has_optional_bytes ());
259 EXPECT_TRUE(message.has_optionalgroup ());
260 EXPECT_TRUE(message.has_optional_nested_message ());
261 EXPECT_TRUE(message.has_optional_foreign_message());
262 EXPECT_TRUE(message.has_optional_import_message ());
264 EXPECT_TRUE(message.optionalgroup ().has_a());
265 EXPECT_TRUE(message.optional_nested_message ().has_bb());
266 EXPECT_TRUE(message.optional_foreign_message().has_c());
267 EXPECT_TRUE(message.optional_import_message ().has_d());
269 EXPECT_TRUE(message.has_optional_nested_enum ());
270 EXPECT_TRUE(message.has_optional_foreign_enum());
271 EXPECT_TRUE(message.has_optional_import_enum ());
274 EXPECT_TRUE(message.has_optional_string_piece());
275 EXPECT_TRUE(message.has_optional_cord());
278 EXPECT_EQ(101 , message.optional_int32 ());
279 EXPECT_EQ(102 , message.optional_int64 ());
280 EXPECT_EQ(103 , message.optional_uint32 ());
281 EXPECT_EQ(104 , message.optional_uint64 ());
282 EXPECT_EQ(105 , message.optional_sint32 ());
283 EXPECT_EQ(106 , message.optional_sint64 ());
284 EXPECT_EQ(107 , message.optional_fixed32 ());
285 EXPECT_EQ(108 , message.optional_fixed64 ());
286 EXPECT_EQ(109 , message.optional_sfixed32());
287 EXPECT_EQ(110 , message.optional_sfixed64());
288 EXPECT_EQ(111 , message.optional_float ());
289 EXPECT_EQ(112 , message.optional_double ());
290 EXPECT_EQ(true , message.optional_bool ());
291 EXPECT_EQ("115", message.optional_string ());
292 EXPECT_EQ("116", message.optional_bytes ());
294 EXPECT_EQ(117, message.optionalgroup ().a());
295 EXPECT_EQ(118, message.optional_nested_message ().bb());
296 EXPECT_EQ(119, message.optional_foreign_message().c());
297 EXPECT_EQ(120, message.optional_import_message ().d());
299 EXPECT_EQ(unittest::TestAllTypes::BAZ, message.optional_nested_enum ());
300 EXPECT_EQ(unittest::FOREIGN_BAZ , message.optional_foreign_enum());
301 EXPECT_EQ(unittest_import::IMPORT_BAZ, message.optional_import_enum ());
306 ASSERT_EQ(2, message.repeated_int32_size ());
307 ASSERT_EQ(2, message.repeated_int64_size ());
308 ASSERT_EQ(2, message.repeated_uint32_size ());
309 ASSERT_EQ(2, message.repeated_uint64_size ());
310 ASSERT_EQ(2, message.repeated_sint32_size ());
311 ASSERT_EQ(2, message.repeated_sint64_size ());
312 ASSERT_EQ(2, message.repeated_fixed32_size ());
313 ASSERT_EQ(2, message.repeated_fixed64_size ());
314 ASSERT_EQ(2, message.repeated_sfixed32_size());
315 ASSERT_EQ(2, message.repeated_sfixed64_size());
316 ASSERT_EQ(2, message.repeated_float_size ());
317 ASSERT_EQ(2, message.repeated_double_size ());
318 ASSERT_EQ(2, message.repeated_bool_size ());
319 ASSERT_EQ(2, message.repeated_string_size ());
320 ASSERT_EQ(2, message.repeated_bytes_size ());
322 ASSERT_EQ(2, message.repeatedgroup_size ());
323 ASSERT_EQ(2, message.repeated_nested_message_size ());
324 ASSERT_EQ(2, message.repeated_foreign_message_size());
325 ASSERT_EQ(2, message.repeated_import_message_size ());
326 ASSERT_EQ(2, message.repeated_nested_enum_size ());
327 ASSERT_EQ(2, message.repeated_foreign_enum_size ());
328 ASSERT_EQ(2, message.repeated_import_enum_size ());
331 ASSERT_EQ(2, message.repeated_string_piece_size());
332 ASSERT_EQ(2, message.repeated_cord_size());
335 EXPECT_EQ(201 , message.repeated_int32 (0));
336 EXPECT_EQ(202 , message.repeated_int64 (0));
337 EXPECT_EQ(203 , message.repeated_uint32 (0));
338 EXPECT_EQ(204 , message.repeated_uint64 (0));
339 EXPECT_EQ(205 , message.repeated_sint32 (0));
340 EXPECT_EQ(206 , message.repeated_sint64 (0));
341 EXPECT_EQ(207 , message.repeated_fixed32 (0));
342 EXPECT_EQ(208 , message.repeated_fixed64 (0));
343 EXPECT_EQ(209 , message.repeated_sfixed32(0));
344 EXPECT_EQ(210 , message.repeated_sfixed64(0));
345 EXPECT_EQ(211 , message.repeated_float (0));
346 EXPECT_EQ(212 , message.repeated_double (0));
347 EXPECT_EQ(true , message.repeated_bool (0));
348 EXPECT_EQ("215", message.repeated_string (0));
349 EXPECT_EQ("216", message.repeated_bytes (0));
351 EXPECT_EQ(217, message.repeatedgroup (0).a());
352 EXPECT_EQ(218, message.repeated_nested_message (0).bb());
353 EXPECT_EQ(219, message.repeated_foreign_message(0).c());
354 EXPECT_EQ(220, message.repeated_import_message (0).d());
357 EXPECT_EQ(unittest::TestAllTypes::BAR, message.repeated_nested_enum (0));
358 EXPECT_EQ(unittest::FOREIGN_BAR , message.repeated_foreign_enum(0));
359 EXPECT_EQ(unittest_import::IMPORT_BAR, message.repeated_import_enum (0));
361 EXPECT_EQ(301 , message.repeated_int32 (1));
362 EXPECT_EQ(302 , message.repeated_int64 (1));
363 EXPECT_EQ(303 , message.repeated_uint32 (1));
364 EXPECT_EQ(304 , message.repeated_uint64 (1));
365 EXPECT_EQ(305 , message.repeated_sint32 (1));
366 EXPECT_EQ(306 , message.repeated_sint64 (1));
367 EXPECT_EQ(307 , message.repeated_fixed32 (1));
368 EXPECT_EQ(308 , message.repeated_fixed64 (1));
369 EXPECT_EQ(309 , message.repeated_sfixed32(1));
370 EXPECT_EQ(310 , message.repeated_sfixed64(1));
371 EXPECT_EQ(311 , message.repeated_float (1));
372 EXPECT_EQ(312 , message.repeated_double (1));
373 EXPECT_EQ(false, message.repeated_bool (1));
374 EXPECT_EQ("315", message.repeated_string (1));
375 EXPECT_EQ("316", message.repeated_bytes (1));
377 EXPECT_EQ(317, message.repeatedgroup (1).a());
378 EXPECT_EQ(318, message.repeated_nested_message (1).bb());
379 EXPECT_EQ(319, message.repeated_foreign_message(1).c());
380 EXPECT_EQ(320, message.repeated_import_message (1).d());
382 EXPECT_EQ(unittest::TestAllTypes::BAZ, message.repeated_nested_enum (1));
383 EXPECT_EQ(unittest::FOREIGN_BAZ , message.repeated_foreign_enum(1));
384 EXPECT_EQ(unittest_import::IMPORT_BAZ, message.repeated_import_enum (1));
389 EXPECT_TRUE(message.has_default_int32 ());
390 EXPECT_TRUE(message.has_default_int64 ());
391 EXPECT_TRUE(message.has_default_uint32 ());
392 EXPECT_TRUE(message.has_default_uint64 ());
393 EXPECT_TRUE(message.has_default_sint32 ());
394 EXPECT_TRUE(message.has_default_sint64 ());
395 EXPECT_TRUE(message.has_default_fixed32 ());
396 EXPECT_TRUE(message.has_default_fixed64 ());
397 EXPECT_TRUE(message.has_default_sfixed32());
398 EXPECT_TRUE(message.has_default_sfixed64());
399 EXPECT_TRUE(message.has_default_float ());
400 EXPECT_TRUE(message.has_default_double ());
401 EXPECT_TRUE(message.has_default_bool ());
402 EXPECT_TRUE(message.has_default_string ());
403 EXPECT_TRUE(message.has_default_bytes ());
405 EXPECT_TRUE(message.has_default_nested_enum ());
406 EXPECT_TRUE(message.has_default_foreign_enum());
407 EXPECT_TRUE(message.has_default_import_enum ());
410 EXPECT_EQ(401 , message.default_int32 ());
411 EXPECT_EQ(402 , message.default_int64 ());
412 EXPECT_EQ(403 , message.default_uint32 ());
413 EXPECT_EQ(404 , message.default_uint64 ());
414 EXPECT_EQ(405 , message.default_sint32 ());
415 EXPECT_EQ(406 , message.default_sint64 ());
416 EXPECT_EQ(407 , message.default_fixed32 ());
417 EXPECT_EQ(408 , message.default_fixed64 ());
418 EXPECT_EQ(409 , message.default_sfixed32());
419 EXPECT_EQ(410 , message.default_sfixed64());
420 EXPECT_EQ(411 , message.default_float ());
421 EXPECT_EQ(412 , message.default_double ());
422 EXPECT_EQ(false, message.default_bool ());
423 EXPECT_EQ("415", message.default_string ());
424 EXPECT_EQ("416", message.default_bytes ());
426 EXPECT_EQ(unittest::TestAllTypes::FOO, message.default_nested_enum ());
427 EXPECT_EQ(unittest::FOREIGN_FOO , message.default_foreign_enum());
428 EXPECT_EQ(unittest_import::IMPORT_FOO, message.default_import_enum ());
434 void TestUtil::ExpectClear(const unittest::TestAllTypes& message) {
436 EXPECT_FALSE(message.has_optional_int32 ());
437 EXPECT_FALSE(message.has_optional_int64 ());
438 EXPECT_FALSE(message.has_optional_uint32 ());
439 EXPECT_FALSE(message.has_optional_uint64 ());
440 EXPECT_FALSE(message.has_optional_sint32 ());
441 EXPECT_FALSE(message.has_optional_sint64 ());
442 EXPECT_FALSE(message.has_optional_fixed32 ());
443 EXPECT_FALSE(message.has_optional_fixed64 ());
444 EXPECT_FALSE(message.has_optional_sfixed32());
445 EXPECT_FALSE(message.has_optional_sfixed64());
446 EXPECT_FALSE(message.has_optional_float ());
447 EXPECT_FALSE(message.has_optional_double ());
448 EXPECT_FALSE(message.has_optional_bool ());
449 EXPECT_FALSE(message.has_optional_string ());
450 EXPECT_FALSE(message.has_optional_bytes ());
452 EXPECT_FALSE(message.has_optionalgroup ());
453 EXPECT_FALSE(message.has_optional_nested_message ());
454 EXPECT_FALSE(message.has_optional_foreign_message());
455 EXPECT_FALSE(message.has_optional_import_message ());
457 EXPECT_FALSE(message.has_optional_nested_enum ());
458 EXPECT_FALSE(message.has_optional_foreign_enum());
459 EXPECT_FALSE(message.has_optional_import_enum ());
461 EXPECT_FALSE(message.has_optional_string_piece());
462 EXPECT_FALSE(message.has_optional_cord());
465 EXPECT_EQ(0 , message.optional_int32 ());
466 EXPECT_EQ(0 , message.optional_int64 ());
467 EXPECT_EQ(0 , message.optional_uint32 ());
468 EXPECT_EQ(0 , message.optional_uint64 ());
469 EXPECT_EQ(0 , message.optional_sint32 ());
470 EXPECT_EQ(0 , message.optional_sint64 ());
471 EXPECT_EQ(0 , message.optional_fixed32 ());
472 EXPECT_EQ(0 , message.optional_fixed64 ());
473 EXPECT_EQ(0 , message.optional_sfixed32());
474 EXPECT_EQ(0 , message.optional_sfixed64());
475 EXPECT_EQ(0 , message.optional_float ());
476 EXPECT_EQ(0 , message.optional_double ());
477 EXPECT_EQ(false, message.optional_bool ());
478 EXPECT_EQ("" , message.optional_string ());
479 EXPECT_EQ("" , message.optional_bytes ());
482 EXPECT_FALSE(message.optionalgroup ().has_a());
483 EXPECT_FALSE(message.optional_nested_message ().has_bb());
484 EXPECT_FALSE(message.optional_foreign_message().has_c());
485 EXPECT_FALSE(message.optional_import_message ().has_d());
487 EXPECT_EQ(0, message.optionalgroup ().a());
488 EXPECT_EQ(0, message.optional_nested_message ().bb());
489 EXPECT_EQ(0, message.optional_foreign_message().c());
490 EXPECT_EQ(0, message.optional_import_message ().d());
493 EXPECT_EQ(unittest::TestAllTypes::FOO, message.optional_nested_enum ());
494 EXPECT_EQ(unittest::FOREIGN_FOO , message.optional_foreign_enum());
495 EXPECT_EQ(unittest_import::IMPORT_FOO, message.optional_import_enum ());
499 EXPECT_EQ(0, message.repeated_int32_size ());
500 EXPECT_EQ(0, message.repeated_int64_size ());
501 EXPECT_EQ(0, message.repeated_uint32_size ());
502 EXPECT_EQ(0, message.repeated_uint64_size ());
503 EXPECT_EQ(0, message.repeated_sint32_size ());
504 EXPECT_EQ(0, message.repeated_sint64_size ());
505 EXPECT_EQ(0, message.repeated_fixed32_size ());
506 EXPECT_EQ(0, message.repeated_fixed64_size ());
507 EXPECT_EQ(0, message.repeated_sfixed32_size());
508 EXPECT_EQ(0, message.repeated_sfixed64_size());
509 EXPECT_EQ(0, message.repeated_float_size ());
510 EXPECT_EQ(0, message.repeated_double_size ());
511 EXPECT_EQ(0, message.repeated_bool_size ());
512 EXPECT_EQ(0, message.repeated_string_size ());
513 EXPECT_EQ(0, message.repeated_bytes_size ());
515 EXPECT_EQ(0, message.repeatedgroup_size ());
516 EXPECT_EQ(0, message.repeated_nested_message_size ());
517 EXPECT_EQ(0, message.repeated_foreign_message_size());
518 EXPECT_EQ(0, message.repeated_import_message_size ());
519 EXPECT_EQ(0, message.repeated_nested_enum_size ());
520 EXPECT_EQ(0, message.repeated_foreign_enum_size ());
521 EXPECT_EQ(0, message.repeated_import_enum_size ());
523 EXPECT_EQ(0, message.repeated_string_piece_size());
524 EXPECT_EQ(0, message.repeated_cord_size());
527 EXPECT_FALSE(message.has_default_int32 ());
528 EXPECT_FALSE(message.has_default_int64 ());
529 EXPECT_FALSE(message.has_default_uint32 ());
530 EXPECT_FALSE(message.has_default_uint64 ());
531 EXPECT_FALSE(message.has_default_sint32 ());
532 EXPECT_FALSE(message.has_default_sint64 ());
533 EXPECT_FALSE(message.has_default_fixed32 ());
534 EXPECT_FALSE(message.has_default_fixed64 ());
535 EXPECT_FALSE(message.has_default_sfixed32());
536 EXPECT_FALSE(message.has_default_sfixed64());
537 EXPECT_FALSE(message.has_default_float ());
538 EXPECT_FALSE(message.has_default_double ());
539 EXPECT_FALSE(message.has_default_bool ());
540 EXPECT_FALSE(message.has_default_string ());
541 EXPECT_FALSE(message.has_default_bytes ());
543 EXPECT_FALSE(message.has_default_nested_enum ());
544 EXPECT_FALSE(message.has_default_foreign_enum());
545 EXPECT_FALSE(message.has_default_import_enum ());
549 EXPECT_EQ( 41 , message.default_int32 ());
550 EXPECT_EQ( 42 , message.default_int64 ());
551 EXPECT_EQ( 43 , message.default_uint32 ());
552 EXPECT_EQ( 44 , message.default_uint64 ());
553 EXPECT_EQ(-45 , message.default_sint32 ());
554 EXPECT_EQ( 46 , message.default_sint64 ());
555 EXPECT_EQ( 47 , message.default_fixed32 ());
556 EXPECT_EQ( 48 , message.default_fixed64 ());
557 EXPECT_EQ( 49 , message.default_sfixed32());
558 EXPECT_EQ(-50 , message.default_sfixed64());
559 EXPECT_EQ( 51.5 , message.default_float ());
560 EXPECT_EQ( 52e3 , message.default_double ());
561 EXPECT_EQ(true , message.default_bool ());
562 EXPECT_EQ("hello", message.default_string ());
563 EXPECT_EQ("world", message.default_bytes ());
565 EXPECT_EQ(unittest::TestAllTypes::BAR, message.default_nested_enum ());
566 EXPECT_EQ(unittest::FOREIGN_BAR , message.default_foreign_enum());
567 EXPECT_EQ(unittest_import::IMPORT_BAR, message.default_import_enum ());
574 const unittest::TestAllTypes& message) {
578 ASSERT_EQ(2, message.repeated_int32_size ());
579 ASSERT_EQ(2, message.repeated_int64_size ());
580 ASSERT_EQ(2, message.repeated_uint32_size ());
581 ASSERT_EQ(2, message.repeated_uint64_size ());
582 ASSERT_EQ(2, message.repeated_sint32_size ());
583 ASSERT_EQ(2, message.repeated_sint64_size ());
584 ASSERT_EQ(2, message.repeated_fixed32_size ());
585 ASSERT_EQ(2, message.repeated_fixed64_size ());
586 ASSERT_EQ(2, message.repeated_sfixed32_size());
587 ASSERT_EQ(2, message.repeated_sfixed64_size());
588 ASSERT_EQ(2, message.repeated_float_size ());
589 ASSERT_EQ(2, message.repeated_double_size ());
590 ASSERT_EQ(2, message.repeated_bool_size ());
591 ASSERT_EQ(2, message.repeated_string_size ());
592 ASSERT_EQ(2, message.repeated_bytes_size ());
594 ASSERT_EQ(2, message.repeatedgroup_size ());
595 ASSERT_EQ(2, message.repeated_nested_message_size ());
596 ASSERT_EQ(2, message.repeated_foreign_message_size());
597 ASSERT_EQ(2, message.repeated_import_message_size ());
598 ASSERT_EQ(2, message.repeated_nested_enum_size ());
599 ASSERT_EQ(2, message.repeated_foreign_enum_size ());
600 ASSERT_EQ(2, message.repeated_import_enum_size ());
603 ASSERT_EQ(2, message.repeated_string_piece_size());
604 ASSERT_EQ(2, message.repeated_cord_size());
607 EXPECT_EQ(201 , message.repeated_int32 (0));
608 EXPECT_EQ(202 , message.repeated_int64 (0));
609 EXPECT_EQ(203 , message.repeated_uint32 (0));
610 EXPECT_EQ(204 , message.repeated_uint64 (0));
611 EXPECT_EQ(205 , message.repeated_sint32 (0));
612 EXPECT_EQ(206 , message.repeated_sint64 (0));
613 EXPECT_EQ(207 , message.repeated_fixed32 (0));
614 EXPECT_EQ(208 , message.repeated_fixed64 (0));
615 EXPECT_EQ(209 , message.repeated_sfixed32(0));
616 EXPECT_EQ(210 , message.repeated_sfixed64(0));
617 EXPECT_EQ(211 , message.repeated_float (0));
618 EXPECT_EQ(212 , message.repeated_double (0));
619 EXPECT_EQ(true , message.repeated_bool (0));
620 EXPECT_EQ("215", message.repeated_string (0));
621 EXPECT_EQ("216", message.repeated_bytes (0));
623 EXPECT_EQ(217, message.repeatedgroup (0).a());
624 EXPECT_EQ(218, message.repeated_nested_message (0).bb());
625 EXPECT_EQ(219, message.repeated_foreign_message(0).c());
626 EXPECT_EQ(220, message.repeated_import_message (0).d());
628 EXPECT_EQ(unittest::TestAllTypes::BAR, message.repeated_nested_enum (0));
629 EXPECT_EQ(unittest::FOREIGN_BAR , message.repeated_foreign_enum(0));
630 EXPECT_EQ(unittest_import::IMPORT_BAR, message.repeated_import_enum (0));
634 EXPECT_EQ(501 , message.repeated_int32 (1));
635 EXPECT_EQ(502 , message.repeated_int64 (1));
636 EXPECT_EQ(503 , message.repeated_uint32 (1));
637 EXPECT_EQ(504 , message.repeated_uint64 (1));
638 EXPECT_EQ(505 , message.repeated_sint32 (1));
639 EXPECT_EQ(506 , message.repeated_sint64 (1));
640 EXPECT_EQ(507 , message.repeated_fixed32 (1));
641 EXPECT_EQ(508 , message.repeated_fixed64 (1));
642 EXPECT_EQ(509 , message.repeated_sfixed32(1));
643 EXPECT_EQ(510 , message.repeated_sfixed64(1));
644 EXPECT_EQ(511 , message.repeated_float (1));
645 EXPECT_EQ(512 , message.repeated_double (1));
646 EXPECT_EQ(true , message.repeated_bool (1));
647 EXPECT_EQ("515", message.repeated_string (1));
648 EXPECT_EQ("516", message.repeated_bytes (1));
650 EXPECT_EQ(517, message.repeatedgroup (1).a());
651 EXPECT_EQ(518, message.repeated_nested_message (1).bb());
652 EXPECT_EQ(519, message.repeated_foreign_message(1).c());
653 EXPECT_EQ(520, message.repeated_import_message (1).d());
655 EXPECT_EQ(unittest::TestAllTypes::FOO, message.repeated_nested_enum (1));
656 EXPECT_EQ(unittest::FOREIGN_FOO , message.repeated_foreign_enum(1));
657 EXPECT_EQ(unittest_import::IMPORT_FOO, message.repeated_import_enum (1));
663 void TestUtil::SetPackedFields(unittest::TestPackedTypes* message) {
664 message->add_packed_int32 (601);
665 message->add_packed_int64 (602);
666 message->add_packed_uint32 (603);
667 message->add_packed_uint64 (604);
668 message->add_packed_sint32 (605);
669 message->add_packed_sint64 (606);
670 message->add_packed_fixed32 (607);
671 message->add_packed_fixed64 (608);
672 message->add_packed_sfixed32(609);
673 message->add_packed_sfixed64(610);
674 message->add_packed_float (611);
675 message->add_packed_double (612);
676 message->add_packed_bool (true);
677 message->add_packed_enum (unittest::FOREIGN_BAR);
679 message->add_packed_int32 (701);
680 message->add_packed_int64 (702);
681 message->add_packed_uint32 (703);
682 message->add_packed_uint64 (704);
683 message->add_packed_sint32 (705);
684 message->add_packed_sint64 (706);
685 message->add_packed_fixed32 (707);
686 message->add_packed_fixed64 (708);
687 message->add_packed_sfixed32(709);
688 message->add_packed_sfixed64(710);
689 message->add_packed_float (711);
690 message->add_packed_double (712);
691 message->add_packed_bool (false);
692 message->add_packed_enum (unittest::FOREIGN_BAZ);
695 void TestUtil::SetUnpackedFields(unittest::TestUnpackedTypes* message) {
698 message->add_unpacked_int32 (601);
699 message->add_unpacked_int64 (602);
700 message->add_unpacked_uint32 (603);
701 message->add_unpacked_uint64 (604);
702 message->add_unpacked_sint32 (605);
703 message->add_unpacked_sint64 (606);
704 message->add_unpacked_fixed32 (607);
705 message->add_unpacked_fixed64 (608);
706 message->add_unpacked_sfixed32(609);
707 message->add_unpacked_sfixed64(610);
708 message->add_unpacked_float (611);
709 message->add_unpacked_double (612);
710 message->add_unpacked_bool (true);
711 message->add_unpacked_enum (unittest::FOREIGN_BAR);
713 message->add_unpacked_int32 (701);
714 message->add_unpacked_int64 (702);
715 message->add_unpacked_uint32 (703);
716 message->add_unpacked_uint64 (704);
717 message->add_unpacked_sint32 (705);
718 message->add_unpacked_sint64 (706);
719 message->add_unpacked_fixed32 (707);
720 message->add_unpacked_fixed64 (708);
721 message->add_unpacked_sfixed32(709);
722 message->add_unpacked_sfixed64(710);
723 message->add_unpacked_float (711);
724 message->add_unpacked_double (712);
725 message->add_unpacked_bool (false);
726 message->add_unpacked_enum (unittest::FOREIGN_BAZ);
731 void TestUtil::ModifyPackedFields(unittest::TestPackedTypes* message) {
732 message->set_packed_int32 (1, 801);
733 message->set_packed_int64 (1, 802);
734 message->set_packed_uint32 (1, 803);
735 message->set_packed_uint64 (1, 804);
736 message->set_packed_sint32 (1, 805);
737 message->set_packed_sint64 (1, 806);
738 message->set_packed_fixed32 (1, 807);
739 message->set_packed_fixed64 (1, 808);
740 message->set_packed_sfixed32(1, 809);
741 message->set_packed_sfixed64(1, 810);
742 message->set_packed_float (1, 811);
743 message->set_packed_double (1, 812);
744 message->set_packed_bool (1, true);
745 message->set_packed_enum (1, unittest::FOREIGN_FOO);
750 void TestUtil::ExpectPackedFieldsSet(const unittest::TestPackedTypes& message) {
751 ASSERT_EQ(2, message.packed_int32_size ());
752 ASSERT_EQ(2, message.packed_int64_size ());
753 ASSERT_EQ(2, message.packed_uint32_size ());
754 ASSERT_EQ(2, message.packed_uint64_size ());
755 ASSERT_EQ(2, message.packed_sint32_size ());
756 ASSERT_EQ(2, message.packed_sint64_size ());
757 ASSERT_EQ(2, message.packed_fixed32_size ());
758 ASSERT_EQ(2, message.packed_fixed64_size ());
759 ASSERT_EQ(2, message.packed_sfixed32_size());
760 ASSERT_EQ(2, message.packed_sfixed64_size());
761 ASSERT_EQ(2, message.packed_float_size ());
762 ASSERT_EQ(2, message.packed_double_size ());
763 ASSERT_EQ(2, message.packed_bool_size ());
764 ASSERT_EQ(2, message.packed_enum_size ());
766 EXPECT_EQ(601 , message.packed_int32 (0));
767 EXPECT_EQ(602 , message.packed_int64 (0));
768 EXPECT_EQ(603 , message.packed_uint32 (0));
769 EXPECT_EQ(604 , message.packed_uint64 (0));
770 EXPECT_EQ(605 , message.packed_sint32 (0));
771 EXPECT_EQ(606 , message.packed_sint64 (0));
772 EXPECT_EQ(607 , message.packed_fixed32 (0));
773 EXPECT_EQ(608 , message.packed_fixed64 (0));
774 EXPECT_EQ(609 , message.packed_sfixed32(0));
775 EXPECT_EQ(610 , message.packed_sfixed64(0));
776 EXPECT_EQ(611 , message.packed_float (0));
777 EXPECT_EQ(612 , message.packed_double (0));
778 EXPECT_EQ(true , message.packed_bool (0));
779 EXPECT_EQ(unittest::FOREIGN_BAR, message.packed_enum(0));
781 EXPECT_EQ(701 , message.packed_int32 (1));
782 EXPECT_EQ(702 , message.packed_int64 (1));
783 EXPECT_EQ(703 , message.packed_uint32 (1));
784 EXPECT_EQ(704 , message.packed_uint64 (1));
785 EXPECT_EQ(705 , message.packed_sint32 (1));
786 EXPECT_EQ(706 , message.packed_sint64 (1));
787 EXPECT_EQ(707 , message.packed_fixed32 (1));
788 EXPECT_EQ(708 , message.packed_fixed64 (1));
789 EXPECT_EQ(709 , message.packed_sfixed32(1));
790 EXPECT_EQ(710 , message.packed_sfixed64(1));
791 EXPECT_EQ(711 , message.packed_float (1));
792 EXPECT_EQ(712 , message.packed_double (1));
793 EXPECT_EQ(false, message.packed_bool (1));
794 EXPECT_EQ(unittest::FOREIGN_BAZ, message.packed_enum(1));
798 const unittest::TestUnpackedTypes& message) {
801 ASSERT_EQ(2, message.unpacked_int32_size ());
802 ASSERT_EQ(2, message.unpacked_int64_size ());
803 ASSERT_EQ(2, message.unpacked_uint32_size ());
804 ASSERT_EQ(2, message.unpacked_uint64_size ());
805 ASSERT_EQ(2, message.unpacked_sint32_size ());
806 ASSERT_EQ(2, message.unpacked_sint64_size ());
807 ASSERT_EQ(2, message.unpacked_fixed32_size ());
808 ASSERT_EQ(2, message.unpacked_fixed64_size ());
809 ASSERT_EQ(2, message.unpacked_sfixed32_size());
810 ASSERT_EQ(2, message.unpacked_sfixed64_size());
811 ASSERT_EQ(2, message.unpacked_float_size ());
812 ASSERT_EQ(2, message.unpacked_double_size ());
813 ASSERT_EQ(2, message.unpacked_bool_size ());
814 ASSERT_EQ(2, message.unpacked_enum_size ());
816 EXPECT_EQ(601 , message.unpacked_int32 (0));
817 EXPECT_EQ(602 , message.unpacked_int64 (0));
818 EXPECT_EQ(603 , message.unpacked_uint32 (0));
819 EXPECT_EQ(604 , message.unpacked_uint64 (0));
820 EXPECT_EQ(605 , message.unpacked_sint32 (0));
821 EXPECT_EQ(606 , message.unpacked_sint64 (0));
822 EXPECT_EQ(607 , message.unpacked_fixed32 (0));
823 EXPECT_EQ(608 , message.unpacked_fixed64 (0));
824 EXPECT_EQ(609 , message.unpacked_sfixed32(0));
825 EXPECT_EQ(610 , message.unpacked_sfixed64(0));
826 EXPECT_EQ(611 , message.unpacked_float (0));
827 EXPECT_EQ(612 , message.unpacked_double (0));
828 EXPECT_EQ(true , message.unpacked_bool (0));
829 EXPECT_EQ(unittest::FOREIGN_BAR, message.unpacked_enum(0));
831 EXPECT_EQ(701 , message.unpacked_int32 (1));
832 EXPECT_EQ(702 , message.unpacked_int64 (1));
833 EXPECT_EQ(703 , message.unpacked_uint32 (1));
834 EXPECT_EQ(704 , message.unpacked_uint64 (1));
835 EXPECT_EQ(705 , message.unpacked_sint32 (1));
836 EXPECT_EQ(706 , message.unpacked_sint64 (1));
837 EXPECT_EQ(707 , message.unpacked_fixed32 (1));
838 EXPECT_EQ(708 , message.unpacked_fixed64 (1));
839 EXPECT_EQ(709 , message.unpacked_sfixed32(1));
840 EXPECT_EQ(710 , message.unpacked_sfixed64(1));
841 EXPECT_EQ(711 , message.unpacked_float (1));
842 EXPECT_EQ(712 , message.unpacked_double (1));
843 EXPECT_EQ(false, message.unpacked_bool (1));
844 EXPECT_EQ(unittest::FOREIGN_BAZ, message.unpacked_enum(1));
850 const unittest::TestPackedTypes& message) {
852 EXPECT_EQ(0, message.packed_int32_size ());
853 EXPECT_EQ(0, message.packed_int64_size ());
854 EXPECT_EQ(0, message.packed_uint32_size ());
855 EXPECT_EQ(0, message.packed_uint64_size ());
856 EXPECT_EQ(0, message.packed_sint32_size ());
857 EXPECT_EQ(0, message.packed_sint64_size ());
858 EXPECT_EQ(0, message.packed_fixed32_size ());
859 EXPECT_EQ(0, message.packed_fixed64_size ());
860 EXPECT_EQ(0, message.packed_sfixed32_size());
861 EXPECT_EQ(0, message.packed_sfixed64_size());
862 EXPECT_EQ(0, message.packed_float_size ());
863 EXPECT_EQ(0, message.packed_double_size ());
864 EXPECT_EQ(0, message.packed_bool_size ());
865 EXPECT_EQ(0, message.packed_enum_size ());
871 const unittest::TestPackedTypes& message) {
873 ASSERT_EQ(2, message.packed_int32_size ());
874 ASSERT_EQ(2, message.packed_int64_size ());
875 ASSERT_EQ(2, message.packed_uint32_size ());
876 ASSERT_EQ(2, message.packed_uint64_size ());
877 ASSERT_EQ(2, message.packed_sint32_size ());
878 ASSERT_EQ(2, message.packed_sint64_size ());
879 ASSERT_EQ(2, message.packed_fixed32_size ());
880 ASSERT_EQ(2, message.packed_fixed64_size ());
881 ASSERT_EQ(2, message.packed_sfixed32_size());
882 ASSERT_EQ(2, message.packed_sfixed64_size());
883 ASSERT_EQ(2, message.packed_float_size ());
884 ASSERT_EQ(2, message.packed_double_size ());
885 ASSERT_EQ(2, message.packed_bool_size ());
886 ASSERT_EQ(2, message.packed_enum_size ());
888 EXPECT_EQ(601 , message.packed_int32 (0));
889 EXPECT_EQ(602 , message.packed_int64 (0));
890 EXPECT_EQ(603 , message.packed_uint32 (0));
891 EXPECT_EQ(604 , message.packed_uint64 (0));
892 EXPECT_EQ(605 , message.packed_sint32 (0));
893 EXPECT_EQ(606 , message.packed_sint64 (0));
894 EXPECT_EQ(607 , message.packed_fixed32 (0));
895 EXPECT_EQ(608 , message.packed_fixed64 (0));
896 EXPECT_EQ(609 , message.packed_sfixed32(0));
897 EXPECT_EQ(610 , message.packed_sfixed64(0));
898 EXPECT_EQ(611 , message.packed_float (0));
899 EXPECT_EQ(612 , message.packed_double (0));
900 EXPECT_EQ(true , message.packed_bool (0));
901 EXPECT_EQ(unittest::FOREIGN_BAR, message.packed_enum(0));
903 EXPECT_EQ(801 , message.packed_int32 (1));
904 EXPECT_EQ(802 , message.packed_int64 (1));
905 EXPECT_EQ(803 , message.packed_uint32 (1));
906 EXPECT_EQ(804 , message.packed_uint64 (1));
907 EXPECT_EQ(805 , message.packed_sint32 (1));
908 EXPECT_EQ(806 , message.packed_sint64 (1));
909 EXPECT_EQ(807 , message.packed_fixed32 (1));
910 EXPECT_EQ(808 , message.packed_fixed64 (1));
911 EXPECT_EQ(809 , message.packed_sfixed32(1));
912 EXPECT_EQ(810 , message.packed_sfixed64(1));
913 EXPECT_EQ(811 , message.packed_float (1));
914 EXPECT_EQ(812 , message.packed_double (1));
915 EXPECT_EQ(true , message.packed_bool (1));
916 EXPECT_EQ(unittest::FOREIGN_FOO, message.packed_enum(1));
927 void TestUtil::SetAllExtensions(unittest::TestAllExtensions* message) {
928 message->SetExtension(unittest::optional_int32_extension , 101);
929 message->SetExtension(unittest::optional_int64_extension , 102);
930 message->SetExtension(unittest::optional_uint32_extension , 103);
931 message->SetExtension(unittest::optional_uint64_extension , 104);
932 message->SetExtension(unittest::optional_sint32_extension , 105);
933 message->SetExtension(unittest::optional_sint64_extension , 106);
934 message->SetExtension(unittest::optional_fixed32_extension , 107);
935 message->SetExtension(unittest::optional_fixed64_extension , 108);
936 message->SetExtension(unittest::optional_sfixed32_extension, 109);
937 message->SetExtension(unittest::optional_sfixed64_extension, 110);
938 message->SetExtension(unittest::optional_float_extension , 111);
939 message->SetExtension(unittest::optional_double_extension , 112);
940 message->SetExtension(unittest::optional_bool_extension , true);
941 message->SetExtension(unittest::optional_string_extension , "115");
942 message->SetExtension(unittest::optional_bytes_extension , "116");
944 message->MutableExtension(unittest::optionalgroup_extension )->set_a(117);
945 message->MutableExtension(unittest::optional_nested_message_extension )->set_bb(118);
946 message->MutableExtension(unittest::optional_foreign_message_extension)->set_c(119);
947 message->MutableExtension(unittest::optional_import_message_extension )->set_d(120);
949 message->SetExtension(unittest::optional_nested_enum_extension , unittest::TestAllTypes::BAZ);
950 message->SetExtension(unittest::optional_foreign_enum_extension, unittest::FOREIGN_BAZ );
951 message->SetExtension(unittest::optional_import_enum_extension , unittest_import::IMPORT_BAZ);
953 message->SetExtension(unittest::optional_string_piece_extension, "124");
954 message->SetExtension(unittest::optional_cord_extension, "125");
958 message->AddExtension(unittest::repeated_int32_extension , 201);
959 message->AddExtension(unittest::repeated_int64_extension , 202);
960 message->AddExtension(unittest::repeated_uint32_extension , 203);
961 message->AddExtension(unittest::repeated_uint64_extension , 204);
962 message->AddExtension(unittest::repeated_sint32_extension , 205);
963 message->AddExtension(unittest::repeated_sint64_extension , 206);
964 message->AddExtension(unittest::repeated_fixed32_extension , 207);
965 message->AddExtension(unittest::repeated_fixed64_extension , 208);
966 message->AddExtension(unittest::repeated_sfixed32_extension, 209);
967 message->AddExtension(unittest::repeated_sfixed64_extension, 210);
968 message->AddExtension(unittest::repeated_float_extension , 211);
969 message->AddExtension(unittest::repeated_double_extension , 212);
970 message->AddExtension(unittest::repeated_bool_extension , true);
971 message->AddExtension(unittest::repeated_string_extension , "215");
972 message->AddExtension(unittest::repeated_bytes_extension , "216");
974 message->AddExtension(unittest::repeatedgroup_extension )->set_a(217);
975 message->AddExtension(unittest::repeated_nested_message_extension )->set_bb(218);
976 message->AddExtension(unittest::repeated_foreign_message_extension)->set_c(219);
977 message->AddExtension(unittest::repeated_import_message_extension )->set_d(220);
979 message->AddExtension(unittest::repeated_nested_enum_extension , unittest::TestAllTypes::BAR);
980 message->AddExtension(unittest::repeated_foreign_enum_extension, unittest::FOREIGN_BAR );
981 message->AddExtension(unittest::repeated_import_enum_extension , unittest_import::IMPORT_BAR);
983 message->AddExtension(unittest::repeated_string_piece_extension, "224");
984 message->AddExtension(unittest::repeated_cord_extension, "225");
987 message->AddExtension(unittest::repeated_int32_extension , 301);
988 message->AddExtension(unittest::repeated_int64_extension , 302);
989 message->AddExtension(unittest::repeated_uint32_extension , 303);
990 message->AddExtension(unittest::repeated_uint64_extension , 304);
991 message->AddExtension(unittest::repeated_sint32_extension , 305);
992 message->AddExtension(unittest::repeated_sint64_extension , 306);
993 message->AddExtension(unittest::repeated_fixed32_extension , 307);
994 message->AddExtension(unittest::repeated_fixed64_extension , 308);
995 message->AddExtension(unittest::repeated_sfixed32_extension, 309);
996 message->AddExtension(unittest::repeated_sfixed64_extension, 310);
997 message->AddExtension(unittest::repeated_float_extension , 311);
998 message->AddExtension(unittest::repeated_double_extension , 312);
999 message->AddExtension(unittest::repeated_bool_extension , false);
1000 message->AddExtension(unittest::repeated_string_extension , "315");
1001 message->AddExtension(unittest::repeated_bytes_extension , "316");
1003 message->AddExtension(unittest::repeatedgroup_extension )->set_a(317);
1004 message->AddExtension(unittest::repeated_nested_message_extension )->set_bb(318);
1005 message->AddExtension(unittest::repeated_foreign_message_extension)->set_c(319);
1006 message->AddExtension(unittest::repeated_import_message_extension )->set_d(320);
1008 message->AddExtension(unittest::repeated_nested_enum_extension , unittest::TestAllTypes::BAZ);
1009 message->AddExtension(unittest::repeated_foreign_enum_extension, unittest::FOREIGN_BAZ );
1010 message->AddExtension(unittest::repeated_import_enum_extension , unittest_import::IMPORT_BAZ);
1012 message->AddExtension(unittest::repeated_string_piece_extension, "324");
1013 message->AddExtension(unittest::repeated_cord_extension, "325");
1017 message->SetExtension(unittest::default_int32_extension , 401);
1018 message->SetExtension(unittest::default_int64_extension , 402);
1019 message->SetExtension(unittest::default_uint32_extension , 403);
1020 message->SetExtension(unittest::default_uint64_extension , 404);
1021 message->SetExtension(unittest::default_sint32_extension , 405);
1022 message->SetExtension(unittest::default_sint64_extension , 406);
1023 message->SetExtension(unittest::default_fixed32_extension , 407);
1024 message->SetExtension(unittest::default_fixed64_extension , 408);
1025 message->SetExtension(unittest::default_sfixed32_extension, 409);
1026 message->SetExtension(unittest::default_sfixed64_extension, 410);
1027 message->SetExtension(unittest::default_float_extension , 411);
1028 message->SetExtension(unittest::default_double_extension , 412);
1029 message->SetExtension(unittest::default_bool_extension , false);
1030 message->SetExtension(unittest::default_string_extension , "415");
1031 message->SetExtension(unittest::default_bytes_extension , "416");
1033 message->SetExtension(unittest::default_nested_enum_extension , unittest::TestAllTypes::FOO);
1034 message->SetExtension(unittest::default_foreign_enum_extension, unittest::FOREIGN_FOO );
1035 message->SetExtension(unittest::default_import_enum_extension , unittest_import::IMPORT_FOO);
1037 message->SetExtension(unittest::default_string_piece_extension, "424");
1038 message->SetExtension(unittest::default_cord_extension, "425");
1044 unittest::TestFieldOrderings* message) {
1045 GOOGLE_CHECK(message);
1046 message->set_my_int(1);
1047 message->set_my_string("foo");
1048 message->set_my_float(1.0);
1049 message->SetExtension(unittest::my_extension_int, 23);
1050 message->SetExtension(unittest::my_extension_string, "bar");
1055 void TestUtil::ModifyRepeatedExtensions(unittest::TestAllExtensions* message) {
1056 message->SetExtension(unittest::repeated_int32_extension , 1, 501);
1057 message->SetExtension(unittest::repeated_int64_extension , 1, 502);
1058 message->SetExtension(unittest::repeated_uint32_extension , 1, 503);
1059 message->SetExtension(unittest::repeated_uint64_extension , 1, 504);
1060 message->SetExtension(unittest::repeated_sint32_extension , 1, 505);
1061 message->SetExtension(unittest::repeated_sint64_extension , 1, 506);
1062 message->SetExtension(unittest::repeated_fixed32_extension , 1, 507);
1063 message->SetExtension(unittest::repeated_fixed64_extension , 1, 508);
1064 message->SetExtension(unittest::repeated_sfixed32_extension, 1, 509);
1065 message->SetExtension(unittest::repeated_sfixed64_extension, 1, 510);
1066 message->SetExtension(unittest::repeated_float_extension , 1, 511);
1067 message->SetExtension(unittest::repeated_double_extension , 1, 512);
1068 message->SetExtension(unittest::repeated_bool_extension , 1, true);
1069 message->SetExtension(unittest::repeated_string_extension , 1, "515");
1070 message->SetExtension(unittest::repeated_bytes_extension , 1, "516");
1072 message->MutableExtension(unittest::repeatedgroup_extension , 1)->set_a(517);
1073 message->MutableExtension(unittest::repeated_nested_message_extension , 1)->set_bb(518);
1074 message->MutableExtension(unittest::repeated_foreign_message_extension, 1)->set_c(519);
1075 message->MutableExtension(unittest::repeated_import_message_extension , 1)->set_d(520);
1077 message->SetExtension(unittest::repeated_nested_enum_extension , 1, unittest::TestAllTypes::FOO);
1078 message->SetExtension(unittest::repeated_foreign_enum_extension, 1, unittest::FOREIGN_FOO );
1079 message->SetExtension(unittest::repeated_import_enum_extension , 1, unittest_import::IMPORT_FOO);
1081 message->SetExtension(unittest::repeated_string_piece_extension, 1, "524");
1082 message->SetExtension(unittest::repeated_cord_extension, 1, "525");
1088 const unittest::TestAllExtensions& message) {
1089 EXPECT_TRUE(message.HasExtension(unittest::optional_int32_extension ));
1090 EXPECT_TRUE(message.HasExtension(unittest::optional_int64_extension ));
1091 EXPECT_TRUE(message.HasExtension(unittest::optional_uint32_extension ));
1092 EXPECT_TRUE(message.HasExtension(unittest::optional_uint64_extension ));
1093 EXPECT_TRUE(message.HasExtension(unittest::optional_sint32_extension ));
1094 EXPECT_TRUE(message.HasExtension(unittest::optional_sint64_extension ));
1095 EXPECT_TRUE(message.HasExtension(unittest::optional_fixed32_extension ));
1096 EXPECT_TRUE(message.HasExtension(unittest::optional_fixed64_extension ));
1097 EXPECT_TRUE(message.HasExtension(unittest::optional_sfixed32_extension));
1098 EXPECT_TRUE(message.HasExtension(unittest::optional_sfixed64_extension));
1099 EXPECT_TRUE(message.HasExtension(unittest::optional_float_extension ));
1100 EXPECT_TRUE(message.HasExtension(unittest::optional_double_extension ));
1101 EXPECT_TRUE(message.HasExtension(unittest::optional_bool_extension ));
1102 EXPECT_TRUE(message.HasExtension(unittest::optional_string_extension ));
1103 EXPECT_TRUE(message.HasExtension(unittest::optional_bytes_extension ));
1105 EXPECT_TRUE(message.HasExtension(unittest::optionalgroup_extension ));
1106 EXPECT_TRUE(message.HasExtension(unittest::optional_nested_message_extension ));
1107 EXPECT_TRUE(message.HasExtension(unittest::optional_foreign_message_extension));
1108 EXPECT_TRUE(message.HasExtension(unittest::optional_import_message_extension ));
1110 EXPECT_TRUE(message.GetExtension(unittest::optionalgroup_extension ).has_a());
1111 EXPECT_TRUE(message.GetExtension(unittest::optional_nested_message_extension ).has_bb());
1112 EXPECT_TRUE(message.GetExtension(unittest::optional_foreign_message_extension).has_c());
1113 EXPECT_TRUE(message.GetExtension(unittest::optional_import_message_extension ).has_d());
1115 EXPECT_TRUE(message.HasExtension(unittest::optional_nested_enum_extension ));
1116 EXPECT_TRUE(message.HasExtension(unittest::optional_foreign_enum_extension));
1117 EXPECT_TRUE(message.HasExtension(unittest::optional_import_enum_extension ));
1119 EXPECT_TRUE(message.HasExtension(unittest::optional_string_piece_extension));
1120 EXPECT_TRUE(message.HasExtension(unittest::optional_cord_extension));
1122 EXPECT_EQ(101 , message.GetExtension(unittest::optional_int32_extension ));
1123 EXPECT_EQ(102 , message.GetExtension(unittest::optional_int64_extension ));
1124 EXPECT_EQ(103 , message.GetExtension(unittest::optional_uint32_extension ));
1125 EXPECT_EQ(104 , message.GetExtension(unittest::optional_uint64_extension ));
1126 EXPECT_EQ(105 , message.GetExtension(unittest::optional_sint32_extension ));
1127 EXPECT_EQ(106 , message.GetExtension(unittest::optional_sint64_extension ));
1128 EXPECT_EQ(107 , message.GetExtension(unittest::optional_fixed32_extension ));
1129 EXPECT_EQ(108 , message.GetExtension(unittest::optional_fixed64_extension ));
1130 EXPECT_EQ(109 , message.GetExtension(unittest::optional_sfixed32_extension));
1131 EXPECT_EQ(110 , message.GetExtension(unittest::optional_sfixed64_extension));
1132 EXPECT_EQ(111 , message.GetExtension(unittest::optional_float_extension ));
1133 EXPECT_EQ(112 , message.GetExtension(unittest::optional_double_extension ));
1134 EXPECT_EQ(true , message.GetExtension(unittest::optional_bool_extension ));
1135 EXPECT_EQ("115", message.GetExtension(unittest::optional_string_extension ));
1136 EXPECT_EQ("116", message.GetExtension(unittest::optional_bytes_extension ));
1138 EXPECT_EQ(117, message.GetExtension(unittest::optionalgroup_extension ).a());
1139 EXPECT_EQ(118, message.GetExtension(unittest::optional_nested_message_extension ).bb());
1140 EXPECT_EQ(119, message.GetExtension(unittest::optional_foreign_message_extension).c());
1141 EXPECT_EQ(120, message.GetExtension(unittest::optional_import_message_extension ).d());
1143 EXPECT_EQ(unittest::TestAllTypes::BAZ, message.GetExtension(unittest::optional_nested_enum_extension ));
1144 EXPECT_EQ(unittest::FOREIGN_BAZ , message.GetExtension(unittest::optional_foreign_enum_extension));
1145 EXPECT_EQ(unittest_import::IMPORT_BAZ, message.GetExtension(unittest::optional_import_enum_extension ));
1147 EXPECT_EQ("124", message.GetExtension(unittest::optional_string_piece_extension));
1148 EXPECT_EQ("125", message.GetExtension(unittest::optional_cord_extension));
1152 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_int32_extension ));
1153 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_int64_extension ));
1154 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_uint32_extension ));
1155 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_uint64_extension ));
1156 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sint32_extension ));
1157 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sint64_extension ));
1158 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_fixed32_extension ));
1159 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_fixed64_extension ));
1160 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sfixed32_extension));
1161 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sfixed64_extension));
1162 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_float_extension ));
1163 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_double_extension ));
1164 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_bool_extension ));
1165 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_string_extension ));
1166 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_bytes_extension ));
1168 ASSERT_EQ(2, message.ExtensionSize(unittest::repeatedgroup_extension ));
1169 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_message_extension ));
1170 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_message_extension));
1171 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_message_extension ));
1172 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_enum_extension ));
1173 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_enum_extension ));
1174 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_enum_extension ));
1176 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_string_piece_extension));
1177 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_cord_extension));
1179 EXPECT_EQ(201 , message.GetExtension(unittest::repeated_int32_extension , 0));
1180 EXPECT_EQ(202 , message.GetExtension(unittest::repeated_int64_extension , 0));
1181 EXPECT_EQ(203 , message.GetExtension(unittest::repeated_uint32_extension , 0));
1182 EXPECT_EQ(204 , message.GetExtension(unittest::repeated_uint64_extension , 0));
1183 EXPECT_EQ(205 , message.GetExtension(unittest::repeated_sint32_extension , 0));
1184 EXPECT_EQ(206 , message.GetExtension(unittest::repeated_sint64_extension , 0));
1185 EXPECT_EQ(207 , message.GetExtension(unittest::repeated_fixed32_extension , 0));
1186 EXPECT_EQ(208 , message.GetExtension(unittest::repeated_fixed64_extension , 0));
1187 EXPECT_EQ(209 , message.GetExtension(unittest::repeated_sfixed32_extension, 0));
1188 EXPECT_EQ(210 , message.GetExtension(unittest::repeated_sfixed64_extension, 0));
1189 EXPECT_EQ(211 , message.GetExtension(unittest::repeated_float_extension , 0));
1190 EXPECT_EQ(212 , message.GetExtension(unittest::repeated_double_extension , 0));
1191 EXPECT_EQ(true , message.GetExtension(unittest::repeated_bool_extension , 0));
1192 EXPECT_EQ("215", message.GetExtension(unittest::repeated_string_extension , 0));
1193 EXPECT_EQ("216", message.GetExtension(unittest::repeated_bytes_extension , 0));
1195 EXPECT_EQ(217, message.GetExtension(unittest::repeatedgroup_extension , 0).a());
1196 EXPECT_EQ(218, message.GetExtension(unittest::repeated_nested_message_extension , 0).bb());
1197 EXPECT_EQ(219, message.GetExtension(unittest::repeated_foreign_message_extension, 0).c());
1198 EXPECT_EQ(220, message.GetExtension(unittest::repeated_import_message_extension , 0).d());
1200 EXPECT_EQ(unittest::TestAllTypes::BAR, message.GetExtension(unittest::repeated_nested_enum_extension , 0));
1201 EXPECT_EQ(unittest::FOREIGN_BAR , message.GetExtension(unittest::repeated_foreign_enum_extension, 0));
1202 EXPECT_EQ(unittest_import::IMPORT_BAR, message.GetExtension(unittest::repeated_import_enum_extension , 0));
1204 EXPECT_EQ("224", message.GetExtension(unittest::repeated_string_piece_extension, 0));
1205 EXPECT_EQ("225", message.GetExtension(unittest::repeated_cord_extension, 0));
1207 EXPECT_EQ(301 , message.GetExtension(unittest::repeated_int32_extension , 1));
1208 EXPECT_EQ(302 , message.GetExtension(unittest::repeated_int64_extension , 1));
1209 EXPECT_EQ(303 , message.GetExtension(unittest::repeated_uint32_extension , 1));
1210 EXPECT_EQ(304 , message.GetExtension(unittest::repeated_uint64_extension , 1));
1211 EXPECT_EQ(305 , message.GetExtension(unittest::repeated_sint32_extension , 1));
1212 EXPECT_EQ(306 , message.GetExtension(unittest::repeated_sint64_extension , 1));
1213 EXPECT_EQ(307 , message.GetExtension(unittest::repeated_fixed32_extension , 1));
1214 EXPECT_EQ(308 , message.GetExtension(unittest::repeated_fixed64_extension , 1));
1215 EXPECT_EQ(309 , message.GetExtension(unittest::repeated_sfixed32_extension, 1));
1216 EXPECT_EQ(310 , message.GetExtension(unittest::repeated_sfixed64_extension, 1));
1217 EXPECT_EQ(311 , message.GetExtension(unittest::repeated_float_extension , 1));
1218 EXPECT_EQ(312 , message.GetExtension(unittest::repeated_double_extension , 1));
1219 EXPECT_EQ(false, message.GetExtension(unittest::repeated_bool_extension , 1));
1220 EXPECT_EQ("315", message.GetExtension(unittest::repeated_string_extension , 1));
1221 EXPECT_EQ("316", message.GetExtension(unittest::repeated_bytes_extension , 1));
1223 EXPECT_EQ(317, message.GetExtension(unittest::repeatedgroup_extension , 1).a());
1224 EXPECT_EQ(318, message.GetExtension(unittest::repeated_nested_message_extension , 1).bb());
1225 EXPECT_EQ(319, message.GetExtension(unittest::repeated_foreign_message_extension, 1).c());
1226 EXPECT_EQ(320, message.GetExtension(unittest::repeated_import_message_extension , 1).d());
1228 EXPECT_EQ(unittest::TestAllTypes::BAZ, message.GetExtension(unittest::repeated_nested_enum_extension , 1));
1229 EXPECT_EQ(unittest::FOREIGN_BAZ , message.GetExtension(unittest::repeated_foreign_enum_extension, 1));
1230 EXPECT_EQ(unittest_import::IMPORT_BAZ, message.GetExtension(unittest::repeated_import_enum_extension , 1));
1232 EXPECT_EQ("324", message.GetExtension(unittest::repeated_string_piece_extension, 1));
1233 EXPECT_EQ("325", message.GetExtension(unittest::repeated_cord_extension, 1));
1237 EXPECT_TRUE(message.HasExtension(unittest::default_int32_extension ));
1238 EXPECT_TRUE(message.HasExtension(unittest::default_int64_extension ));
1239 EXPECT_TRUE(message.HasExtension(unittest::default_uint32_extension ));
1240 EXPECT_TRUE(message.HasExtension(unittest::default_uint64_extension ));
1241 EXPECT_TRUE(message.HasExtension(unittest::default_sint32_extension ));
1242 EXPECT_TRUE(message.HasExtension(unittest::default_sint64_extension ));
1243 EXPECT_TRUE(message.HasExtension(unittest::default_fixed32_extension ));
1244 EXPECT_TRUE(message.HasExtension(unittest::default_fixed64_extension ));
1245 EXPECT_TRUE(message.HasExtension(unittest::default_sfixed32_extension));
1246 EXPECT_TRUE(message.HasExtension(unittest::default_sfixed64_extension));
1247 EXPECT_TRUE(message.HasExtension(unittest::default_float_extension ));
1248 EXPECT_TRUE(message.HasExtension(unittest::default_double_extension ));
1249 EXPECT_TRUE(message.HasExtension(unittest::default_bool_extension ));
1250 EXPECT_TRUE(message.HasExtension(unittest::default_string_extension ));
1251 EXPECT_TRUE(message.HasExtension(unittest::default_bytes_extension ));
1253 EXPECT_TRUE(message.HasExtension(unittest::default_nested_enum_extension ));
1254 EXPECT_TRUE(message.HasExtension(unittest::default_foreign_enum_extension));
1255 EXPECT_TRUE(message.HasExtension(unittest::default_import_enum_extension ));
1257 EXPECT_TRUE(message.HasExtension(unittest::default_string_piece_extension));
1258 EXPECT_TRUE(message.HasExtension(unittest::default_cord_extension));
1260 EXPECT_EQ(401 , message.GetExtension(unittest::default_int32_extension ));
1261 EXPECT_EQ(402 , message.GetExtension(unittest::default_int64_extension ));
1262 EXPECT_EQ(403 , message.GetExtension(unittest::default_uint32_extension ));
1263 EXPECT_EQ(404 , message.GetExtension(unittest::default_uint64_extension ));
1264 EXPECT_EQ(405 , message.GetExtension(unittest::default_sint32_extension ));
1265 EXPECT_EQ(406 , message.GetExtension(unittest::default_sint64_extension ));
1266 EXPECT_EQ(407 , message.GetExtension(unittest::default_fixed32_extension ));
1267 EXPECT_EQ(408 , message.GetExtension(unittest::default_fixed64_extension ));
1268 EXPECT_EQ(409 , message.GetExtension(unittest::default_sfixed32_extension));
1269 EXPECT_EQ(410 , message.GetExtension(unittest::default_sfixed64_extension));
1270 EXPECT_EQ(411 , message.GetExtension(unittest::default_float_extension ));
1271 EXPECT_EQ(412 , message.GetExtension(unittest::default_double_extension ));
1272 EXPECT_EQ(false, message.GetExtension(unittest::default_bool_extension ));
1273 EXPECT_EQ("415", message.GetExtension(unittest::default_string_extension ));
1274 EXPECT_EQ("416", message.GetExtension(unittest::default_bytes_extension ));
1276 EXPECT_EQ(unittest::TestAllTypes::FOO, message.GetExtension(unittest::default_nested_enum_extension ));
1277 EXPECT_EQ(unittest::FOREIGN_FOO , message.GetExtension(unittest::default_foreign_enum_extension));
1278 EXPECT_EQ(unittest_import::IMPORT_FOO, message.GetExtension(unittest::default_import_enum_extension ));
1280 EXPECT_EQ("424", message.GetExtension(unittest::default_string_piece_extension));
1281 EXPECT_EQ("425", message.GetExtension(unittest::default_cord_extension));
1287 const unittest::TestAllExtensions& message) {
1289 ASSERT_TRUE(message.SerializeToString(&serialized));
1291 EXPECT_EQ(0, message.ByteSize());
1294 EXPECT_FALSE(message.HasExtension(unittest::optional_int32_extension ));
1295 EXPECT_FALSE(message.HasExtension(unittest::optional_int64_extension ));
1296 EXPECT_FALSE(message.HasExtension(unittest::optional_uint32_extension ));
1297 EXPECT_FALSE(message.HasExtension(unittest::optional_uint64_extension ));
1298 EXPECT_FALSE(message.HasExtension(unittest::optional_sint32_extension ));
1299 EXPECT_FALSE(message.HasExtension(unittest::optional_sint64_extension ));
1300 EXPECT_FALSE(message.HasExtension(unittest::optional_fixed32_extension ));
1301 EXPECT_FALSE(message.HasExtension(unittest::optional_fixed64_extension ));
1302 EXPECT_FALSE(message.HasExtension(unittest::optional_sfixed32_extension));
1303 EXPECT_FALSE(message.HasExtension(unittest::optional_sfixed64_extension));
1304 EXPECT_FALSE(message.HasExtension(unittest::optional_float_extension ));
1305 EXPECT_FALSE(message.HasExtension(unittest::optional_double_extension ));
1306 EXPECT_FALSE(message.HasExtension(unittest::optional_bool_extension ));
1307 EXPECT_FALSE(message.HasExtension(unittest::optional_string_extension ));
1308 EXPECT_FALSE(message.HasExtension(unittest::optional_bytes_extension ));
1310 EXPECT_FALSE(message.HasExtension(unittest::optionalgroup_extension ));
1311 EXPECT_FALSE(message.HasExtension(unittest::optional_nested_message_extension ));
1312 EXPECT_FALSE(message.HasExtension(unittest::optional_foreign_message_extension));
1313 EXPECT_FALSE(message.HasExtension(unittest::optional_import_message_extension ));
1315 EXPECT_FALSE(message.HasExtension(unittest::optional_nested_enum_extension ));
1316 EXPECT_FALSE(message.HasExtension(unittest::optional_foreign_enum_extension));
1317 EXPECT_FALSE(message.HasExtension(unittest::optional_import_enum_extension ));
1319 EXPECT_FALSE(message.HasExtension(unittest::optional_string_piece_extension));
1320 EXPECT_FALSE(message.HasExtension(unittest::optional_cord_extension));
1323 EXPECT_EQ(0 , message.GetExtension(unittest::optional_int32_extension ));
1324 EXPECT_EQ(0 , message.GetExtension(unittest::optional_int64_extension ));
1325 EXPECT_EQ(0 , message.GetExtension(unittest::optional_uint32_extension ));
1326 EXPECT_EQ(0 , message.GetExtension(unittest::optional_uint64_extension ));
1327 EXPECT_EQ(0 , message.GetExtension(unittest::optional_sint32_extension ));
1328 EXPECT_EQ(0 , message.GetExtension(unittest::optional_sint64_extension ));
1329 EXPECT_EQ(0 , message.GetExtension(unittest::optional_fixed32_extension ));
1330 EXPECT_EQ(0 , message.GetExtension(unittest::optional_fixed64_extension ));
1331 EXPECT_EQ(0 , message.GetExtension(unittest::optional_sfixed32_extension));
1332 EXPECT_EQ(0 , message.GetExtension(unittest::optional_sfixed64_extension));
1333 EXPECT_EQ(0 , message.GetExtension(unittest::optional_float_extension ));
1334 EXPECT_EQ(0 , message.GetExtension(unittest::optional_double_extension ));
1335 EXPECT_EQ(false, message.GetExtension(unittest::optional_bool_extension ));
1336 EXPECT_EQ("" , message.GetExtension(unittest::optional_string_extension ));
1337 EXPECT_EQ("" , message.GetExtension(unittest::optional_bytes_extension ));
1340 EXPECT_FALSE(message.GetExtension(unittest::optionalgroup_extension ).has_a());
1341 EXPECT_FALSE(message.GetExtension(unittest::optional_nested_message_extension ).has_bb());
1342 EXPECT_FALSE(message.GetExtension(unittest::optional_foreign_message_extension).has_c());
1343 EXPECT_FALSE(message.GetExtension(unittest::optional_import_message_extension ).has_d());
1345 EXPECT_EQ(0, message.GetExtension(unittest::optionalgroup_extension ).a());
1346 EXPECT_EQ(0, message.GetExtension(unittest::optional_nested_message_extension ).bb());
1347 EXPECT_EQ(0, message.GetExtension(unittest::optional_foreign_message_extension).c());
1348 EXPECT_EQ(0, message.GetExtension(unittest::optional_import_message_extension ).d());
1351 EXPECT_EQ(unittest::TestAllTypes::FOO, message.GetExtension(unittest::optional_nested_enum_extension ));
1352 EXPECT_EQ(unittest::FOREIGN_FOO , message.GetExtension(unittest::optional_foreign_enum_extension));
1353 EXPECT_EQ(unittest_import::IMPORT_FOO, message.GetExtension(unittest::optional_import_enum_extension ));
1355 EXPECT_EQ("", message.GetExtension(unittest::optional_string_piece_extension));
1356 EXPECT_EQ("", message.GetExtension(unittest::optional_cord_extension));
1359 EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_int32_extension ));
1360 EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_int64_extension ));
1361 EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_uint32_extension ));
1362 EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_uint64_extension ));
1363 EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_sint32_extension ));
1364 EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_sint64_extension ));
1365 EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_fixed32_extension ));
1366 EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_fixed64_extension ));
1367 EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_sfixed32_extension));
1368 EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_sfixed64_extension));
1369 EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_float_extension ));
1370 EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_double_extension ));
1371 EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_bool_extension ));
1372 EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_string_extension ));
1373 EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_bytes_extension ));
1375 EXPECT_EQ(0, message.ExtensionSize(unittest::repeatedgroup_extension ));
1376 EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_nested_message_extension ));
1377 EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_foreign_message_extension));
1378 EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_import_message_extension ));
1379 EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_nested_enum_extension ));
1380 EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_foreign_enum_extension ));
1381 EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_import_enum_extension ));
1383 EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_string_piece_extension));
1384 EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_cord_extension));
1387 EXPECT_FALSE(message.HasExtension(unittest::default_int32_extension ));
1388 EXPECT_FALSE(message.HasExtension(unittest::default_int64_extension ));
1389 EXPECT_FALSE(message.HasExtension(unittest::default_uint32_extension ));
1390 EXPECT_FALSE(message.HasExtension(unittest::default_uint64_extension ));
1391 EXPECT_FALSE(message.HasExtension(unittest::default_sint32_extension ));
1392 EXPECT_FALSE(message.HasExtension(unittest::default_sint64_extension ));
1393 EXPECT_FALSE(message.HasExtension(unittest::default_fixed32_extension ));
1394 EXPECT_FALSE(message.HasExtension(unittest::default_fixed64_extension ));
1395 EXPECT_FALSE(message.HasExtension(unittest::default_sfixed32_extension));
1396 EXPECT_FALSE(message.HasExtension(unittest::default_sfixed64_extension));
1397 EXPECT_FALSE(message.HasExtension(unittest::default_float_extension ));
1398 EXPECT_FALSE(message.HasExtension(unittest::default_double_extension ));
1399 EXPECT_FALSE(message.HasExtension(unittest::default_bool_extension ));
1400 EXPECT_FALSE(message.HasExtension(unittest::default_string_extension ));
1401 EXPECT_FALSE(message.HasExtension(unittest::default_bytes_extension ));
1403 EXPECT_FALSE(message.HasExtension(unittest::default_nested_enum_extension ));
1404 EXPECT_FALSE(message.HasExtension(unittest::default_foreign_enum_extension));
1405 EXPECT_FALSE(message.HasExtension(unittest::default_import_enum_extension ));
1407 EXPECT_FALSE(message.HasExtension(unittest::default_string_piece_extension));
1408 EXPECT_FALSE(message.HasExtension(unittest::default_cord_extension));
1411 EXPECT_EQ( 41 , message.GetExtension(unittest::default_int32_extension ));
1412 EXPECT_EQ( 42 , message.GetExtension(unittest::default_int64_extension ));
1413 EXPECT_EQ( 43 , message.GetExtension(unittest::default_uint32_extension ));
1414 EXPECT_EQ( 44 , message.GetExtension(unittest::default_uint64_extension ));
1415 EXPECT_EQ(-45 , message.GetExtension(unittest::default_sint32_extension ));
1416 EXPECT_EQ( 46 , message.GetExtension(unittest::default_sint64_extension ));
1417 EXPECT_EQ( 47 , message.GetExtension(unittest::default_fixed32_extension ));
1418 EXPECT_EQ( 48 , message.GetExtension(unittest::default_fixed64_extension ));
1419 EXPECT_EQ( 49 , message.GetExtension(unittest::default_sfixed32_extension));
1420 EXPECT_EQ(-50 , message.GetExtension(unittest::default_sfixed64_extension));
1421 EXPECT_EQ( 51.5 , message.GetExtension(unittest::default_float_extension ));
1422 EXPECT_EQ( 52e3 , message.GetExtension(unittest::default_double_extension ));
1423 EXPECT_EQ(true , message.GetExtension(unittest::default_bool_extension ));
1424 EXPECT_EQ("hello", message.GetExtension(unittest::default_string_extension ));
1425 EXPECT_EQ("world", message.GetExtension(unittest::default_bytes_extension ));
1427 EXPECT_EQ(unittest::TestAllTypes::BAR, message.GetExtension(unittest::default_nested_enum_extension ));
1428 EXPECT_EQ(unittest::FOREIGN_BAR , message.GetExtension(unittest::default_foreign_enum_extension));
1429 EXPECT_EQ(unittest_import::IMPORT_BAR, message.GetExtension(unittest::default_import_enum_extension ));
1431 EXPECT_EQ("abc", message.GetExtension(unittest::default_string_piece_extension));
1432 EXPECT_EQ("123", message.GetExtension(unittest::default_cord_extension));
1438 const unittest::TestAllExtensions& message) {
1442 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_int32_extension ));
1443 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_int64_extension ));
1444 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_uint32_extension ));
1445 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_uint64_extension ));
1446 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sint32_extension ));
1447 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sint64_extension ));
1448 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_fixed32_extension ));
1449 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_fixed64_extension ));
1450 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sfixed32_extension));
1451 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sfixed64_extension));
1452 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_float_extension ));
1453 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_double_extension ));
1454 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_bool_extension ));
1455 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_string_extension ));
1456 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_bytes_extension ));
1458 ASSERT_EQ(2, message.ExtensionSize(unittest::repeatedgroup_extension ));
1459 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_message_extension ));
1460 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_message_extension));
1461 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_message_extension ));
1462 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_enum_extension ));
1463 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_enum_extension ));
1464 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_enum_extension ));
1466 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_string_piece_extension));
1467 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_cord_extension));
1469 EXPECT_EQ(201 , message.GetExtension(unittest::repeated_int32_extension , 0));
1470 EXPECT_EQ(202 , message.GetExtension(unittest::repeated_int64_extension , 0));
1471 EXPECT_EQ(203 , message.GetExtension(unittest::repeated_uint32_extension , 0));
1472 EXPECT_EQ(204 , message.GetExtension(unittest::repeated_uint64_extension , 0));
1473 EXPECT_EQ(205 , message.GetExtension(unittest::repeated_sint32_extension , 0));
1474 EXPECT_EQ(206 , message.GetExtension(unittest::repeated_sint64_extension , 0));
1475 EXPECT_EQ(207 , message.GetExtension(unittest::repeated_fixed32_extension , 0));
1476 EXPECT_EQ(208 , message.GetExtension(unittest::repeated_fixed64_extension , 0));
1477 EXPECT_EQ(209 , message.GetExtension(unittest::repeated_sfixed32_extension, 0));
1478 EXPECT_EQ(210 , message.GetExtension(unittest::repeated_sfixed64_extension, 0));
1479 EXPECT_EQ(211 , message.GetExtension(unittest::repeated_float_extension , 0));
1480 EXPECT_EQ(212 , message.GetExtension(unittest::repeated_double_extension , 0));
1481 EXPECT_EQ(true , message.GetExtension(unittest::repeated_bool_extension , 0));
1482 EXPECT_EQ("215", message.GetExtension(unittest::repeated_string_extension , 0));
1483 EXPECT_EQ("216", message.GetExtension(unittest::repeated_bytes_extension , 0));
1485 EXPECT_EQ(217, message.GetExtension(unittest::repeatedgroup_extension , 0).a());
1486 EXPECT_EQ(218, message.GetExtension(unittest::repeated_nested_message_extension , 0).bb());
1487 EXPECT_EQ(219, message.GetExtension(unittest::repeated_foreign_message_extension, 0).c());
1488 EXPECT_EQ(220, message.GetExtension(unittest::repeated_import_message_extension , 0).d());
1490 EXPECT_EQ(unittest::TestAllTypes::BAR, message.GetExtension(unittest::repeated_nested_enum_extension , 0));
1491 EXPECT_EQ(unittest::FOREIGN_BAR , message.GetExtension(unittest::repeated_foreign_enum_extension, 0));
1492 EXPECT_EQ(unittest_import::IMPORT_BAR, message.GetExtension(unittest::repeated_import_enum_extension , 0));
1494 EXPECT_EQ("224", message.GetExtension(unittest::repeated_string_piece_extension, 0));
1495 EXPECT_EQ("225", message.GetExtension(unittest::repeated_cord_extension, 0));
1498 EXPECT_EQ(501 , message.GetExtension(unittest::repeated_int32_extension , 1));
1499 EXPECT_EQ(502 , message.GetExtension(unittest::repeated_int64_extension , 1));
1500 EXPECT_EQ(503 , message.GetExtension(unittest::repeated_uint32_extension , 1));
1501 EXPECT_EQ(504 , message.GetExtension(unittest::repeated_uint64_extension , 1));
1502 EXPECT_EQ(505 , message.GetExtension(unittest::repeated_sint32_extension , 1));
1503 EXPECT_EQ(506 , message.GetExtension(unittest::repeated_sint64_extension , 1));
1504 EXPECT_EQ(507 , message.GetExtension(unittest::repeated_fixed32_extension , 1));
1505 EXPECT_EQ(508 , message.GetExtension(unittest::repeated_fixed64_extension , 1));
1506 EXPECT_EQ(509 , message.GetExtension(unittest::repeated_sfixed32_extension, 1));
1507 EXPECT_EQ(510 , message.GetExtension(unittest::repeated_sfixed64_extension, 1));
1508 EXPECT_EQ(511 , message.GetExtension(unittest::repeated_float_extension , 1));
1509 EXPECT_EQ(512 , message.GetExtension(unittest::repeated_double_extension , 1));
1510 EXPECT_EQ(true , message.GetExtension(unittest::repeated_bool_extension , 1));
1511 EXPECT_EQ("515", message.GetExtension(unittest::repeated_string_extension , 1));
1512 EXPECT_EQ("516", message.GetExtension(unittest::repeated_bytes_extension , 1));
1514 EXPECT_EQ(517, message.GetExtension(unittest::repeatedgroup_extension , 1).a());
1515 EXPECT_EQ(518, message.GetExtension(unittest::repeated_nested_message_extension , 1).bb());
1516 EXPECT_EQ(519, message.GetExtension(unittest::repeated_foreign_message_extension, 1).c());
1517 EXPECT_EQ(520, message.GetExtension(unittest::repeated_import_message_extension , 1).d());
1519 EXPECT_EQ(unittest::TestAllTypes::FOO, message.GetExtension(unittest::repeated_nested_enum_extension , 1));
1520 EXPECT_EQ(unittest::FOREIGN_FOO , message.GetExtension(unittest::repeated_foreign_enum_extension, 1));
1521 EXPECT_EQ(unittest_import::IMPORT_FOO, message.GetExtension(unittest::repeated_import_enum_extension , 1));
1523 EXPECT_EQ("524", message.GetExtension(unittest::repeated_string_piece_extension, 1));
1524 EXPECT_EQ("525", message.GetExtension(unittest::repeated_cord_extension, 1));
1529 void TestUtil::SetPackedExtensions(unittest::TestPackedExtensions* message) {
1530 message->AddExtension(unittest::packed_int32_extension , 601);
1531 message->AddExtension(unittest::packed_int64_extension , 602);
1532 message->AddExtension(unittest::packed_uint32_extension , 603);
1533 message->AddExtension(unittest::packed_uint64_extension , 604);
1534 message->AddExtension(unittest::packed_sint32_extension , 605);
1535 message->AddExtension(unittest::packed_sint64_extension , 606);
1536 message->AddExtension(unittest::packed_fixed32_extension , 607);
1537 message->AddExtension(unittest::packed_fixed64_extension , 608);
1538 message->AddExtension(unittest::packed_sfixed32_extension, 609);
1539 message->AddExtension(unittest::packed_sfixed64_extension, 610);
1540 message->AddExtension(unittest::packed_float_extension , 611);
1541 message->AddExtension(unittest::packed_double_extension , 612);
1542 message->AddExtension(unittest::packed_bool_extension , true);
1543 message->AddExtension(unittest::packed_enum_extension, unittest::FOREIGN_BAR);
1545 message->AddExtension(unittest::packed_int32_extension , 701);
1546 message->AddExtension(unittest::packed_int64_extension , 702);
1547 message->AddExtension(unittest::packed_uint32_extension , 703);
1548 message->AddExtension(unittest::packed_uint64_extension , 704);
1549 message->AddExtension(unittest::packed_sint32_extension , 705);
1550 message->AddExtension(unittest::packed_sint64_extension , 706);
1551 message->AddExtension(unittest::packed_fixed32_extension , 707);
1552 message->AddExtension(unittest::packed_fixed64_extension , 708);
1553 message->AddExtension(unittest::packed_sfixed32_extension, 709);
1554 message->AddExtension(unittest::packed_sfixed64_extension, 710);
1555 message->AddExtension(unittest::packed_float_extension , 711);
1556 message->AddExtension(unittest::packed_double_extension , 712);
1557 message->AddExtension(unittest::packed_bool_extension , false);
1558 message->AddExtension(unittest::packed_enum_extension, unittest::FOREIGN_BAZ);
1563 void TestUtil::ModifyPackedExtensions(unittest::TestPackedExtensions* message) {
1564 message->SetExtension(unittest::packed_int32_extension , 1, 801);
1565 message->SetExtension(unittest::packed_int64_extension , 1, 802);
1566 message->SetExtension(unittest::packed_uint32_extension , 1, 803);
1567 message->SetExtension(unittest::packed_uint64_extension , 1, 804);
1568 message->SetExtension(unittest::packed_sint32_extension , 1, 805);
1569 message->SetExtension(unittest::packed_sint64_extension , 1, 806);
1570 message->SetExtension(unittest::packed_fixed32_extension , 1, 807);
1571 message->SetExtension(unittest::packed_fixed64_extension , 1, 808);
1572 message->SetExtension(unittest::packed_sfixed32_extension, 1, 809);
1573 message->SetExtension(unittest::packed_sfixed64_extension, 1, 810);
1574 message->SetExtension(unittest::packed_float_extension , 1, 811);
1575 message->SetExtension(unittest::packed_double_extension , 1, 812);
1576 message->SetExtension(unittest::packed_bool_extension , 1, true);
1577 message->SetExtension(unittest::packed_enum_extension , 1,
1584 const unittest::TestPackedExtensions& message) {
1585 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_int32_extension ));
1586 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_int64_extension ));
1587 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_uint32_extension ));
1588 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_uint64_extension ));
1589 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sint32_extension ));
1590 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sint64_extension ));
1591 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_fixed32_extension ));
1592 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_fixed64_extension ));
1593 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sfixed32_extension));
1594 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sfixed64_extension));
1595 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_float_extension ));
1596 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_double_extension ));
1597 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_bool_extension ));
1598 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_enum_extension ));
1600 EXPECT_EQ(601 , message.GetExtension(unittest::packed_int32_extension , 0));
1601 EXPECT_EQ(602 , message.GetExtension(unittest::packed_int64_extension , 0));
1602 EXPECT_EQ(603 , message.GetExtension(unittest::packed_uint32_extension , 0));
1603 EXPECT_EQ(604 , message.GetExtension(unittest::packed_uint64_extension , 0));
1604 EXPECT_EQ(605 , message.GetExtension(unittest::packed_sint32_extension , 0));
1605 EXPECT_EQ(606 , message.GetExtension(unittest::packed_sint64_extension , 0));
1606 EXPECT_EQ(607 , message.GetExtension(unittest::packed_fixed32_extension , 0));
1607 EXPECT_EQ(608 , message.GetExtension(unittest::packed_fixed64_extension , 0));
1608 EXPECT_EQ(609 , message.GetExtension(unittest::packed_sfixed32_extension, 0));
1609 EXPECT_EQ(610 , message.GetExtension(unittest::packed_sfixed64_extension, 0));
1610 EXPECT_EQ(611 , message.GetExtension(unittest::packed_float_extension , 0));
1611 EXPECT_EQ(612 , message.GetExtension(unittest::packed_double_extension , 0));
1612 EXPECT_EQ(true , message.GetExtension(unittest::packed_bool_extension , 0));
1614 message.GetExtension(unittest::packed_enum_extension, 0));
1615 EXPECT_EQ(701 , message.GetExtension(unittest::packed_int32_extension , 1));
1616 EXPECT_EQ(702 , message.GetExtension(unittest::packed_int64_extension , 1));
1617 EXPECT_EQ(703 , message.GetExtension(unittest::packed_uint32_extension , 1));
1618 EXPECT_EQ(704 , message.GetExtension(unittest::packed_uint64_extension , 1));
1619 EXPECT_EQ(705 , message.GetExtension(unittest::packed_sint32_extension , 1));
1620 EXPECT_EQ(706 , message.GetExtension(unittest::packed_sint64_extension , 1));
1621 EXPECT_EQ(707 , message.GetExtension(unittest::packed_fixed32_extension , 1));
1622 EXPECT_EQ(708 , message.GetExtension(unittest::packed_fixed64_extension , 1));
1623 EXPECT_EQ(709 , message.GetExtension(unittest::packed_sfixed32_extension, 1));
1624 EXPECT_EQ(710 , message.GetExtension(unittest::packed_sfixed64_extension, 1));
1625 EXPECT_EQ(711 , message.GetExtension(unittest::packed_float_extension , 1));
1626 EXPECT_EQ(712 , message.GetExtension(unittest::packed_double_extension , 1));
1627 EXPECT_EQ(false, message.GetExtension(unittest::packed_bool_extension , 1));
1629 message.GetExtension(unittest::packed_enum_extension, 1));
1635 const unittest::TestPackedExtensions& message) {
1636 EXPECT_EQ(0, message.ExtensionSize(unittest::packed_int32_extension ));
1637 EXPECT_EQ(0, message.ExtensionSize(unittest::packed_int64_extension ));
1638 EXPECT_EQ(0, message.ExtensionSize(unittest::packed_uint32_extension ));
1639 EXPECT_EQ(0, message.ExtensionSize(unittest::packed_uint64_extension ));
1640 EXPECT_EQ(0, message.ExtensionSize(unittest::packed_sint32_extension ));
1641 EXPECT_EQ(0, message.ExtensionSize(unittest::packed_sint64_extension ));
1642 EXPECT_EQ(0, message.ExtensionSize(unittest::packed_fixed32_extension ));
1643 EXPECT_EQ(0, message.ExtensionSize(unittest::packed_fixed64_extension ));
1644 EXPECT_EQ(0, message.ExtensionSize(unittest::packed_sfixed32_extension));
1645 EXPECT_EQ(0, message.ExtensionSize(unittest::packed_sfixed64_extension));
1646 EXPECT_EQ(0, message.ExtensionSize(unittest::packed_float_extension ));
1647 EXPECT_EQ(0, message.ExtensionSize(unittest::packed_double_extension ));
1648 EXPECT_EQ(0, message.ExtensionSize(unittest::packed_bool_extension ));
1649 EXPECT_EQ(0, message.ExtensionSize(unittest::packed_enum_extension ));
1655 const unittest::TestPackedExtensions& message) {
1656 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_int32_extension ));
1657 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_int64_extension ));
1658 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_uint32_extension ));
1659 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_uint64_extension ));
1660 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sint32_extension ));
1661 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sint64_extension ));
1662 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_fixed32_extension ));
1663 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_fixed64_extension ));
1664 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sfixed32_extension));
1665 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sfixed64_extension));
1666 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_float_extension ));
1667 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_double_extension ));
1668 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_bool_extension ));
1669 ASSERT_EQ(2, message.ExtensionSize(unittest::packed_enum_extension ));
1670 EXPECT_EQ(601 , message.GetExtension(unittest::packed_int32_extension , 0));
1671 EXPECT_EQ(602 , message.GetExtension(unittest::packed_int64_extension , 0));
1672 EXPECT_EQ(603 , message.GetExtension(unittest::packed_uint32_extension , 0));
1673 EXPECT_EQ(604 , message.GetExtension(unittest::packed_uint64_extension , 0));
1674 EXPECT_EQ(605 , message.GetExtension(unittest::packed_sint32_extension , 0));
1675 EXPECT_EQ(606 , message.GetExtension(unittest::packed_sint64_extension , 0));
1676 EXPECT_EQ(607 , message.GetExtension(unittest::packed_fixed32_extension , 0));
1677 EXPECT_EQ(608 , message.GetExtension(unittest::packed_fixed64_extension , 0));
1678 EXPECT_EQ(609 , message.GetExtension(unittest::packed_sfixed32_extension, 0));
1679 EXPECT_EQ(610 , message.GetExtension(unittest::packed_sfixed64_extension, 0));
1680 EXPECT_EQ(611 , message.GetExtension(unittest::packed_float_extension , 0));
1681 EXPECT_EQ(612 , message.GetExtension(unittest::packed_double_extension , 0));
1682 EXPECT_EQ(true , message.GetExtension(unittest::packed_bool_extension , 0));
1684 message.GetExtension(unittest::packed_enum_extension, 0));
1687 EXPECT_EQ(801 , message.GetExtension(unittest::packed_int32_extension , 1));
1688 EXPECT_EQ(802 , message.GetExtension(unittest::packed_int64_extension , 1));
1689 EXPECT_EQ(803 , message.GetExtension(unittest::packed_uint32_extension , 1));
1690 EXPECT_EQ(804 , message.GetExtension(unittest::packed_uint64_extension , 1));
1691 EXPECT_EQ(805 , message.GetExtension(unittest::packed_sint32_extension , 1));
1692 EXPECT_EQ(806 , message.GetExtension(unittest::packed_sint64_extension , 1));
1693 EXPECT_EQ(807 , message.GetExtension(unittest::packed_fixed32_extension , 1));
1694 EXPECT_EQ(808 , message.GetExtension(unittest::packed_fixed64_extension , 1));
1695 EXPECT_EQ(809 , message.GetExtension(unittest::packed_sfixed32_extension, 1));
1696 EXPECT_EQ(810 , message.GetExtension(unittest::packed_sfixed64_extension, 1));
1697 EXPECT_EQ(811 , message.GetExtension(unittest::packed_float_extension , 1));
1698 EXPECT_EQ(812 , message.GetExtension(unittest::packed_double_extension , 1));
1699 EXPECT_EQ(true , message.GetExtension(unittest::packed_bool_extension , 1));
1701 message.GetExtension(unittest::packed_enum_extension, 1));
1710 unittest::TestFieldOrderings message;
1711 message.set_my_int(1); // Field 1.
1712 message.AppendToString(&expected);
1713 message.Clear();
1714 message.SetExtension(unittest::my_extension_int, 23); // Field 5.
1715 message.AppendToString(&expected);
1716 message.Clear();
1717 message.set_my_string("foo"); // Field 11.
1718 message.AppendToString(&expected);
1719 message.Clear();
1720 message.SetExtension(unittest::my_extension_string, "bar"); // Field 50.
1721 message.AppendToString(&expected);
1722 message.Clear();
1723 message.set_my_float(1.0); // Field 101.
1724 message.AppendToString(&expected);
1725 message.Clear();
1732 const unittest::TestAllTypes& message) {
1733 ASSERT_EQ(1, message.repeated_int32_size ());
1734 ASSERT_EQ(1, message.repeated_int64_size ());
1735 ASSERT_EQ(1, message.repeated_uint32_size ());
1736 ASSERT_EQ(1, message.repeated_uint64_size ());
1737 ASSERT_EQ(1, message.repeated_sint32_size ());
1738 ASSERT_EQ(1, message.repeated_sint64_size ());
1739 ASSERT_EQ(1, message.repeated_fixed32_size ());
1740 ASSERT_EQ(1, message.repeated_fixed64_size ());
1741 ASSERT_EQ(1, message.repeated_sfixed32_size());
1742 ASSERT_EQ(1, message.repeated_sfixed64_size());
1743 ASSERT_EQ(1, message.repeated_float_size ());
1744 ASSERT_EQ(1, message.repeated_double_size ());
1745 ASSERT_EQ(1, message.repeated_bool_size ());
1746 ASSERT_EQ(1, message.repeated_string_size ());
1747 ASSERT_EQ(1, message.repeated_bytes_size ());
1749 ASSERT_EQ(1, message.repeatedgroup_size ());
1750 ASSERT_EQ(1, message.repeated_nested_message_size ());
1751 ASSERT_EQ(1, message.repeated_foreign_message_size());
1752 ASSERT_EQ(1, message.repeated_import_message_size ());
1753 ASSERT_EQ(1, message.repeated_nested_enum_size ());
1754 ASSERT_EQ(1, message.repeated_foreign_enum_size ());
1755 ASSERT_EQ(1, message.repeated_import_enum_size ());
1758 ASSERT_EQ(1, message.repeated_string_piece_size());
1759 ASSERT_EQ(1, message.repeated_cord_size());
1763 EXPECT_EQ(201 , message.repeated_int32 (0));
1764 EXPECT_EQ(202 , message.repeated_int64 (0));
1765 EXPECT_EQ(203 , message.repeated_uint32 (0));
1766 EXPECT_EQ(204 , message.repeated_uint64 (0));
1767 EXPECT_EQ(205 , message.repeated_sint32 (0));
1768 EXPECT_EQ(206 , message.repeated_sint64 (0));
1769 EXPECT_EQ(207 , message.repeated_fixed32 (0));
1770 EXPECT_EQ(208 , message.repeated_fixed64 (0));
1771 EXPECT_EQ(209 , message.repeated_sfixed32(0));
1772 EXPECT_EQ(210 , message.repeated_sfixed64(0));
1773 EXPECT_EQ(211 , message.repeated_float (0));
1774 EXPECT_EQ(212 , message.repeated_double (0));
1775 EXPECT_EQ(true , message.repeated_bool (0));
1776 EXPECT_EQ("215", message.repeated_string (0));
1777 EXPECT_EQ("216", message.repeated_bytes (0));
1779 EXPECT_EQ(217, message.repeatedgroup (0).a());
1780 EXPECT_EQ(218, message.repeated_nested_message (0).bb());
1781 EXPECT_EQ(219, message.repeated_foreign_message(0).c());
1782 EXPECT_EQ(220, message.repeated_import_message (0).d());
1784 EXPECT_EQ(unittest::TestAllTypes::BAR, message.repeated_nested_enum (0));
1785 EXPECT_EQ(unittest::FOREIGN_BAR , message.repeated_foreign_enum(0));
1786 EXPECT_EQ(unittest_import::IMPORT_BAR, message.repeated_import_enum (0));
1790 const unittest::TestAllExtensions& message) {
1793 ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_int32_extension ));
1794 ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_int64_extension ));
1795 ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_uint32_extension ));
1796 ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_uint64_extension ));
1797 ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_sint32_extension ));
1798 ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_sint64_extension ));
1799 ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_fixed32_extension ));
1800 ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_fixed64_extension ));
1801 ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_sfixed32_extension));
1802 ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_sfixed64_extension));
1803 ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_float_extension ));
1804 ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_double_extension ));
1805 ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_bool_extension ));
1806 ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_string_extension ));
1807 ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_bytes_extension ));
1809 ASSERT_EQ(1, message.ExtensionSize(unittest::repeatedgroup_extension ));
1810 ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_nested_message_extension ));
1811 ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_foreign_message_extension));
1812 ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_import_message_extension ));
1813 ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_nested_enum_extension ));
1814 ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_foreign_enum_extension ));
1815 ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_import_enum_extension ));
1817 ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_string_piece_extension));
1818 ASSERT_EQ(1, message.ExtensionSize(unittest::repeated_cord_extension));
1821 EXPECT_EQ(201 , message.GetExtension(unittest::repeated_int32_extension , 0));
1822 EXPECT_EQ(202 , message.GetExtension(unittest::repeated_int64_extension , 0));
1823 EXPECT_EQ(203 , message.GetExtension(unittest::repeated_uint32_extension , 0));
1824 EXPECT_EQ(204 , message.GetExtension(unittest::repeated_uint64_extension , 0));
1825 EXPECT_EQ(205 , message.GetExtension(unittest::repeated_sint32_extension , 0));
1826 EXPECT_EQ(206 , message.GetExtension(unittest::repeated_sint64_extension , 0));
1827 EXPECT_EQ(207 , message.GetExtension(unittest::repeated_fixed32_extension , 0));
1828 EXPECT_EQ(208 , message.GetExtension(unittest::repeated_fixed64_extension , 0));
1829 EXPECT_EQ(209 , message.GetExtension(unittest::repeated_sfixed32_extension, 0));
1830 EXPECT_EQ(210 , message.GetExtension(unittest::repeated_sfixed64_extension, 0));
1831 EXPECT_EQ(211 , message.GetExtension(unittest::repeated_float_extension , 0));
1832 EXPECT_EQ(212 , message.GetExtension(unittest::repeated_double_extension , 0));
1833 EXPECT_EQ(true , message.GetExtension(unittest::repeated_bool_extension , 0));
1834 EXPECT_EQ("215", message.GetExtension(unittest::repeated_string_extension , 0));
1835 EXPECT_EQ("216", message.GetExtension(unittest::repeated_bytes_extension , 0));
1837 EXPECT_EQ(217, message.GetExtension(unittest::repeatedgroup_extension , 0).a());
1838 EXPECT_EQ(218, message.GetExtension(unittest::repeated_nested_message_extension , 0).bb());
1839 EXPECT_EQ(219, message.GetExtension(unittest::repeated_foreign_message_extension, 0).c());
1840 EXPECT_EQ(220, message.GetExtension(unittest::repeated_import_message_extension , 0).d());
1842 EXPECT_EQ(unittest::TestAllTypes::BAR, message.GetExtension(unittest::repeated_nested_enum_extension , 0));
1843 EXPECT_EQ(unittest::FOREIGN_BAR , message.GetExtension(unittest::repeated_foreign_enum_extension, 0));
1844 EXPECT_EQ(unittest_import::IMPORT_BAR, message.GetExtension(unittest::repeated_import_enum_extension , 0));
1846 EXPECT_EQ("224", message.GetExtension(unittest::repeated_string_piece_extension, 0));
1847 EXPECT_EQ("225", message.GetExtension(unittest::repeated_cord_extension, 0));
1851 const unittest::TestAllTypes& message) {
1852 ASSERT_EQ(2, message.repeated_int32_size ());
1853 ASSERT_EQ(2, message.repeated_int64_size ());
1854 ASSERT_EQ(2, message.repeated_uint32_size ());
1855 ASSERT_EQ(2, message.repeated_uint64_size ());
1856 ASSERT_EQ(2, message.repeated_sint32_size ());
1857 ASSERT_EQ(2, message.repeated_sint64_size ());
1858 ASSERT_EQ(2, message.repeated_fixed32_size ());
1859 ASSERT_EQ(2, message.repeated_fixed64_size ());
1860 ASSERT_EQ(2, message.repeated_sfixed32_size());
1861 ASSERT_EQ(2, message.repeated_sfixed64_size());
1862 ASSERT_EQ(2, message.repeated_float_size ());
1863 ASSERT_EQ(2, message.repeated_double_size ());
1864 ASSERT_EQ(2, message.repeated_bool_size ());
1865 ASSERT_EQ(2, message.repeated_string_size ());
1866 ASSERT_EQ(2, message.repeated_bytes_size ());
1868 ASSERT_EQ(2, message.repeatedgroup_size ());
1869 ASSERT_EQ(2, message.repeated_nested_message_size ());
1870 ASSERT_EQ(2, message.repeated_foreign_message_size());
1871 ASSERT_EQ(2, message.repeated_import_message_size ());
1872 ASSERT_EQ(2, message.repeated_nested_enum_size ());
1873 ASSERT_EQ(2, message.repeated_foreign_enum_size ());
1874 ASSERT_EQ(2, message.repeated_import_enum_size ());
1877 ASSERT_EQ(2, message.repeated_string_piece_size());
1878 ASSERT_EQ(2, message.repeated_cord_size());
1882 EXPECT_EQ(201 , message.repeated_int32 (1));
1883 EXPECT_EQ(202 , message.repeated_int64 (1));
1884 EXPECT_EQ(203 , message.repeated_uint32 (1));
1885 EXPECT_EQ(204 , message.repeated_uint64 (1));
1886 EXPECT_EQ(205 , message.repeated_sint32 (1));
1887 EXPECT_EQ(206 , message.repeated_sint64 (1));
1888 EXPECT_EQ(207 , message.repeated_fixed32 (1));
1889 EXPECT_EQ(208 , message.repeated_fixed64 (1));
1890 EXPECT_EQ(209 , message.repeated_sfixed32(1));
1891 EXPECT_EQ(210 , message.repeated_sfixed64(1));
1892 EXPECT_EQ(211 , message.repeated_float (1));
1893 EXPECT_EQ(212 , message.repeated_double (1));
1894 EXPECT_EQ(true , message.repeated_bool (1));
1895 EXPECT_EQ("215", message.repeated_string (1));
1896 EXPECT_EQ("216", message.repeated_bytes (1));
1898 EXPECT_EQ(217, message.repeatedgroup (1).a());
1899 EXPECT_EQ(218, message.repeated_nested_message (1).bb());
1900 EXPECT_EQ(219, message.repeated_foreign_message(1).c());
1901 EXPECT_EQ(220, message.repeated_import_message (1).d());
1903 EXPECT_EQ(unittest::TestAllTypes::BAR, message.repeated_nested_enum (1));
1904 EXPECT_EQ(unittest::FOREIGN_BAR , message.repeated_foreign_enum(1));
1905 EXPECT_EQ(unittest_import::IMPORT_BAR, message.repeated_import_enum (1));
1907 EXPECT_EQ(301 , message.repeated_int32 (0));
1908 EXPECT_EQ(302 , message.repeated_int64 (0));
1909 EXPECT_EQ(303 , message.repeated_uint32 (0));
1910 EXPECT_EQ(304 , message.repeated_uint64 (0));
1911 EXPECT_EQ(305 , message.repeated_sint32 (0));
1912 EXPECT_EQ(306 , message.repeated_sint64 (0));
1913 EXPECT_EQ(307 , message.repeated_fixed32 (0));
1914 EXPECT_EQ(308 , message.repeated_fixed64 (0));
1915 EXPECT_EQ(309 , message.repeated_sfixed32(0));
1916 EXPECT_EQ(310 , message.repeated_sfixed64(0));
1917 EXPECT_EQ(311 , message.repeated_float (0));
1918 EXPECT_EQ(312 , message.repeated_double (0));
1919 EXPECT_EQ(false, message.repeated_bool (0));
1920 EXPECT_EQ("315", message.repeated_string (0));
1921 EXPECT_EQ("316", message.repeated_bytes (0));
1923 EXPECT_EQ(317, message.repeatedgroup (0).a());
1924 EXPECT_EQ(318, message.repeated_nested_message (0).bb());
1925 EXPECT_EQ(319, message.repeated_foreign_message(0).c());
1926 EXPECT_EQ(320, message.repeated_import_message (0).d());
1928 EXPECT_EQ(unittest::TestAllTypes::BAZ, message.repeated_nested_enum (0));
1929 EXPECT_EQ(unittest::FOREIGN_BAZ , message.repeated_foreign_enum(0));
1930 EXPECT_EQ(unittest_import::IMPORT_BAZ, message.repeated_import_enum (0));
1934 const unittest::TestAllExtensions& message) {
1936 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_int32_extension ));
1937 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_int64_extension ));
1938 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_uint32_extension ));
1939 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_uint64_extension ));
1940 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sint32_extension ));
1941 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sint64_extension ));
1942 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_fixed32_extension ));
1943 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_fixed64_extension ));
1944 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sfixed32_extension));
1945 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sfixed64_extension));
1946 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_float_extension ));
1947 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_double_extension ));
1948 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_bool_extension ));
1949 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_string_extension ));
1950 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_bytes_extension ));
1952 ASSERT_EQ(2, message.ExtensionSize(unittest::repeatedgroup_extension ));
1953 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_message_extension ));
1954 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_message_extension));
1955 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_message_extension ));
1956 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_enum_extension ));
1957 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_enum_extension ));
1958 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_enum_extension ));
1960 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_string_piece_extension));
1961 ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_cord_extension));
1963 EXPECT_EQ(201 , message.GetExtension(unittest::repeated_int32_extension , 1));
1964 EXPECT_EQ(202 , message.GetExtension(unittest::repeated_int64_extension , 1));
1965 EXPECT_EQ(203 , message.GetExtension(unittest::repeated_uint32_extension , 1));
1966 EXPECT_EQ(204 , message.GetExtension(unittest::repeated_uint64_extension , 1));
1967 EXPECT_EQ(205 , message.GetExtension(unittest::repeated_sint32_extension , 1));
1968 EXPECT_EQ(206 , message.GetExtension(unittest::repeated_sint64_extension , 1));
1969 EXPECT_EQ(207 , message.GetExtension(unittest::repeated_fixed32_extension , 1));
1970 EXPECT_EQ(208 , message.GetExtension(unittest::repeated_fixed64_extension , 1));
1971 EXPECT_EQ(209 , message.GetExtension(unittest::repeated_sfixed32_extension, 1));
1972 EXPECT_EQ(210 , message.GetExtension(unittest::repeated_sfixed64_extension, 1));
1973 EXPECT_EQ(211 , message.GetExtension(unittest::repeated_float_extension , 1));
1974 EXPECT_EQ(212 , message.GetExtension(unittest::repeated_double_extension , 1));
1975 EXPECT_EQ(true , message.GetExtension(unittest::repeated_bool_extension , 1));
1976 EXPECT_EQ("215", message.GetExtension(unittest::repeated_string_extension , 1));
1977 EXPECT_EQ("216", message.GetExtension(unittest::repeated_bytes_extension , 1));
1979 EXPECT_EQ(217, message.GetExtension(unittest::repeatedgroup_extension , 1).a());
1980 EXPECT_EQ(218, message.GetExtension(unittest::repeated_nested_message_extension , 1).bb());
1981 EXPECT_EQ(219, message.GetExtension(unittest::repeated_foreign_message_extension, 1).c());
1982 EXPECT_EQ(220, message.GetExtension(unittest::repeated_import_message_extension , 1).d());
1984 EXPECT_EQ(unittest::TestAllTypes::BAR, message.GetExtension(unittest::repeated_nested_enum_extension , 1));
1985 EXPECT_EQ(unittest::FOREIGN_BAR , message.GetExtension(unittest::repeated_foreign_enum_extension, 1));
1986 EXPECT_EQ(unittest_import::IMPORT_BAR, message.GetExtension(unittest::repeated_import_enum_extension , 1));
1988 EXPECT_EQ("224", message.GetExtension(unittest::repeated_string_piece_extension, 1));
1989 EXPECT_EQ("225", message.GetExtension(unittest::repeated_cord_extension, 1));
1991 EXPECT_EQ(301 , message.GetExtension(unittest::repeated_int32_extension , 0));
1992 EXPECT_EQ(302 , message.GetExtension(unittest::repeated_int64_extension , 0));
1993 EXPECT_EQ(303 , message.GetExtension(unittest::repeated_uint32_extension , 0));
1994 EXPECT_EQ(304 , message.GetExtension(unittest::repeated_uint64_extension , 0));
1995 EXPECT_EQ(305 , message.GetExtension(unittest::repeated_sint32_extension , 0));
1996 EXPECT_EQ(306 , message.GetExtension(unittest::repeated_sint64_extension , 0));
1997 EXPECT_EQ(307 , message.GetExtension(unittest::repeated_fixed32_extension , 0));
1998 EXPECT_EQ(308 , message.GetExtension(unittest::repeated_fixed64_extension , 0));
1999 EXPECT_EQ(309 , message.GetExtension(unittest::repeated_sfixed32_extension, 0));
2000 EXPECT_EQ(310 , message.GetExtension(unittest::repeated_sfixed64_extension, 0));
2001 EXPECT_EQ(311 , message.GetExtension(unittest::repeated_float_extension , 0));
2002 EXPECT_EQ(312 , message.GetExtension(unittest::repeated_double_extension , 0));
2003 EXPECT_EQ(false, message.GetExtension(unittest::repeated_bool_extension , 0));
2004 EXPECT_EQ("315", message.GetExtension(unittest::repeated_string_extension , 0));
2005 EXPECT_EQ("316", message.GetExtension(unittest::repeated_bytes_extension , 0));
2007 EXPECT_EQ(317, message.GetExtension(unittest::repeatedgroup_extension , 0).a());
2008 EXPECT_EQ(318, message.GetExtension(unittest::repeated_nested_message_extension , 0).bb());
2009 EXPECT_EQ(319, message.GetExtension(unittest::repeated_foreign_message_extension, 0).c());
2010 EXPECT_EQ(320, message.GetExtension(unittest::repeated_import_message_extension , 0).d());
2012 EXPECT_EQ(unittest::TestAllTypes::BAZ, message.GetExtension(unittest::repeated_nested_enum_extension , 0));
2013 EXPECT_EQ(unittest::FOREIGN_BAZ , message.GetExtension(unittest::repeated_foreign_enum_extension, 0));
2014 EXPECT_EQ(unittest_import::IMPORT_BAZ, message.GetExtension(unittest::repeated_import_enum_extension , 0));
2016 EXPECT_EQ("324", message.GetExtension(unittest::repeated_string_piece_extension, 0));
2017 EXPECT_EQ("325", message.GetExtension(unittest::repeated_cord_extension, 0));
2096 void TestUtil::ReflectionTester::SetAllFieldsViaReflection(Message* message) {
2097 const Reflection* reflection = message->GetReflection();
2100 reflection->SetInt32 (message, F("optional_int32" ), 101);
2101 reflection->SetInt64 (message, F("optional_int64" ), 102);
2102 reflection->SetUInt32(message, F("optional_uint32" ), 103);
2103 reflection->SetUInt64(message, F("optional_uint64" ), 104);
2104 reflection->SetInt32 (message, F("optional_sint32" ), 105);
2105 reflection->SetInt64 (message, F("optional_sint64" ), 106);
2106 reflection->SetUInt32(message, F("optional_fixed32" ), 107);
2107 reflection->SetUInt64(message, F("optional_fixed64" ), 108);
2108 reflection->SetInt32 (message, F("optional_sfixed32"), 109);
2109 reflection->SetInt64 (message, F("optional_sfixed64"), 110);
2110 reflection->SetFloat (message, F("optional_float" ), 111);
2111 reflection->SetDouble(message, F("optional_double" ), 112);
2112 reflection->SetBool (message, F("optional_bool" ), true);
2113 reflection->SetString(message, F("optional_string" ), "115");
2114 reflection->SetString(message, F("optional_bytes" ), "116");
2116 sub_message = reflection->MutableMessage(message, F("optionalgroup"));
2118 sub_message = reflection->MutableMessage(message, F("optional_nested_message"));
2120 sub_message = reflection->MutableMessage(message, F("optional_foreign_message"));
2122 sub_message = reflection->MutableMessage(message, F("optional_import_message"));
2125 reflection->SetEnum(message, F("optional_nested_enum" ), nested_baz_);
2126 reflection->SetEnum(message, F("optional_foreign_enum"), foreign_baz_);
2127 reflection->SetEnum(message, F("optional_import_enum" ), import_baz_);
2129 reflection->SetString(message, F("optional_string_piece"), "124");
2130 reflection->SetString(message, F("optional_cord"), "125");
2134 reflection->AddInt32 (message, F("repeated_int32" ), 201);
2135 reflection->AddInt64 (message, F("repeated_int64" ), 202);
2136 reflection->AddUInt32(message, F("repeated_uint32" ), 203);
2137 reflection->AddUInt64(message, F("repeated_uint64" ), 204);
2138 reflection->AddInt32 (message, F("repeated_sint32" ), 205);
2139 reflection->AddInt64 (message, F("repeated_sint64" ), 206);
2140 reflection->AddUInt32(message, F("repeated_fixed32" ), 207);
2141 reflection->AddUInt64(message, F("repeated_fixed64" ), 208);
2142 reflection->AddInt32 (message, F("repeated_sfixed32"), 209);
2143 reflection->AddInt64 (message, F("repeated_sfixed64"), 210);
2144 reflection->AddFloat (message, F("repeated_float" ), 211);
2145 reflection->AddDouble(message, F("repeated_double" ), 212);
2146 reflection->AddBool (message, F("repeated_bool" ), true);
2147 reflection->AddString(message, F("repeated_string" ), "215");
2148 reflection->AddString(message, F("repeated_bytes" ), "216");
2150 sub_message = reflection->AddMessage(message, F("repeatedgroup"));
2152 sub_message = reflection->AddMessage(message, F("repeated_nested_message"));
2154 sub_message = reflection->AddMessage(message, F("repeated_foreign_message"));
2156 sub_message = reflection->AddMessage(message, F("repeated_import_message"));
2159 reflection->AddEnum(message, F("repeated_nested_enum" ), nested_bar_);
2160 reflection->AddEnum(message, F("repeated_foreign_enum"), foreign_bar_);
2161 reflection->AddEnum(message, F("repeated_import_enum" ), import_bar_);
2163 reflection->AddString(message, F("repeated_string_piece"), "224");
2164 reflection->AddString(message, F("repeated_cord"), "225");
2167 reflection->AddInt32 (message, F("repeated_int32" ), 301);
2168 reflection->AddInt64 (message, F("repeated_int64" ), 302);
2169 reflection->AddUInt32(message, F("repeated_uint32" ), 303);
2170 reflection->AddUInt64(message, F("repeated_uint64" ), 304);
2171 reflection->AddInt32 (message, F("repeated_sint32" ), 305);
2172 reflection->AddInt64 (message, F("repeated_sint64" ), 306);
2173 reflection->AddUInt32(message, F("repeated_fixed32" ), 307);
2174 reflection->AddUInt64(message, F("repeated_fixed64" ), 308);
2175 reflection->AddInt32 (message, F("repeated_sfixed32"), 309);
2176 reflection->AddInt64 (message, F("repeated_sfixed64"), 310);
2177 reflection->AddFloat (message, F("repeated_float" ), 311);
2178 reflection->AddDouble(message, F("repeated_double" ), 312);
2179 reflection->AddBool (message, F("repeated_bool" ), false);
2180 reflection->AddString(message, F("repeated_string" ), "315");
2181 reflection->AddString(message, F("repeated_bytes" ), "316");
2183 sub_message = reflection->AddMessage(message, F("repeatedgroup"));
2185 sub_message = reflection->AddMessage(message, F("repeated_nested_message"));
2187 sub_message = reflection->AddMessage(message, F("repeated_foreign_message"));
2189 sub_message = reflection->AddMessage(message, F("repeated_import_message"));
2192 reflection->AddEnum(message, F("repeated_nested_enum" ), nested_baz_);
2193 reflection->AddEnum(message, F("repeated_foreign_enum"), foreign_baz_);
2194 reflection->AddEnum(message, F("repeated_import_enum" ), import_baz_);
2196 reflection->AddString(message, F("repeated_string_piece"), "324");
2197 reflection->AddString(message, F("repeated_cord"), "325");
2201 reflection->SetInt32 (message, F("default_int32" ), 401);
2202 reflection->SetInt64 (message, F("default_int64" ), 402);
2203 reflection->SetUInt32(message, F("default_uint32" ), 403);
2204 reflection->SetUInt64(message, F("default_uint64" ), 404);
2205 reflection->SetInt32 (message, F("default_sint32" ), 405);
2206 reflection->SetInt64 (message, F("default_sint64" ), 406);
2207 reflection->SetUInt32(message, F("default_fixed32" ), 407);
2208 reflection->SetUInt64(message, F("default_fixed64" ), 408);
2209 reflection->SetInt32 (message, F("default_sfixed32"), 409);
2210 reflection->SetInt64 (message, F("default_sfixed64"), 410);
2211 reflection->SetFloat (message, F("default_float" ), 411);
2212 reflection->SetDouble(message, F("default_double" ), 412);
2213 reflection->SetBool (message, F("default_bool" ), false);
2214 reflection->SetString(message, F("default_string" ), "415");
2215 reflection->SetString(message, F("default_bytes" ), "416");
2217 reflection->SetEnum(message, F("default_nested_enum" ), nested_foo_);
2218 reflection->SetEnum(message, F("default_foreign_enum"), foreign_foo_);
2219 reflection->SetEnum(message, F("default_import_enum" ), import_foo_);
2221 reflection->SetString(message, F("default_string_piece"), "424");
2222 reflection->SetString(message, F("default_cord"), "425");
2226 Message* message) {
2227 const Reflection* reflection = message->GetReflection();
2228 reflection->AddInt32 (message, F("packed_int32" ), 601);
2229 reflection->AddInt64 (message, F("packed_int64" ), 602);
2230 reflection->AddUInt32(message, F("packed_uint32" ), 603);
2231 reflection->AddUInt64(message, F("packed_uint64" ), 604);
2232 reflection->AddInt32 (message, F("packed_sint32" ), 605);
2233 reflection->AddInt64 (message, F("packed_sint64" ), 606);
2234 reflection->AddUInt32(message, F("packed_fixed32" ), 607);
2235 reflection->AddUInt64(message, F("packed_fixed64" ), 608);
2236 reflection->AddInt32 (message, F("packed_sfixed32"), 609);
2237 reflection->AddInt64 (message, F("packed_sfixed64"), 610);
2238 reflection->AddFloat (message, F("packed_float" ), 611);
2239 reflection->AddDouble(message, F("packed_double" ), 612);
2240 reflection->AddBool (message, F("packed_bool" ), true);
2241 reflection->AddEnum (message, F("packed_enum" ), foreign_bar_);
2243 reflection->AddInt32 (message, F("packed_int32" ), 701);
2244 reflection->AddInt64 (message, F("packed_int64" ), 702);
2245 reflection->AddUInt32(message, F("packed_uint32" ), 703);
2246 reflection->AddUInt64(message, F("packed_uint64" ), 704);
2247 reflection->AddInt32 (message, F("packed_sint32" ), 705);
2248 reflection->AddInt64 (message, F("packed_sint64" ), 706);
2249 reflection->AddUInt32(message, F("packed_fixed32" ), 707);
2250 reflection->AddUInt64(message, F("packed_fixed64" ), 708);
2251 reflection->AddInt32 (message, F("packed_sfixed32"), 709);
2252 reflection->AddInt64 (message, F("packed_sfixed64"), 710);
2253 reflection->AddFloat (message, F("packed_float" ), 711);
2254 reflection->AddDouble(message, F("packed_double" ), 712);
2255 reflection->AddBool (message, F("packed_bool" ), false);
2256 reflection->AddEnum (message, F("packed_enum" ), foreign_baz_);
2262 const Message& message) {
2265 ExpectAllFieldsSetViaReflection1(message);
2266 ExpectAllFieldsSetViaReflection2(message);
2267 ExpectAllFieldsSetViaReflection3(message);
2271 const Message& message) {
2272 const Reflection* reflection = message.GetReflection();
2276 EXPECT_TRUE(reflection->HasField(message, F("optional_int32" )));
2277 EXPECT_TRUE(reflection->HasField(message, F("optional_int64" )));
2278 EXPECT_TRUE(reflection->HasField(message, F("optional_uint32" )));
2279 EXPECT_TRUE(reflection->HasField(message, F("optional_uint64" )));
2280 EXPECT_TRUE(reflection->HasField(message, F("optional_sint32" )));
2281 EXPECT_TRUE(reflection->HasField(message, F("optional_sint64" )));
2282 EXPECT_TRUE(reflection->HasField(message, F("optional_fixed32" )));
2283 EXPECT_TRUE(reflection->HasField(message, F("optional_fixed64" )));
2284 EXPECT_TRUE(reflection->HasField(message, F("optional_sfixed32")));
2285 EXPECT_TRUE(reflection->HasField(message, F("optional_sfixed64")));
2286 EXPECT_TRUE(reflection->HasField(message, F("optional_float" )));
2287 EXPECT_TRUE(reflection->HasField(message, F("optional_double" )));
2288 EXPECT_TRUE(reflection->HasField(message, F("optional_bool" )));
2289 EXPECT_TRUE(reflection->HasField(message, F("optional_string" )));
2290 EXPECT_TRUE(reflection->HasField(message, F("optional_bytes" )));
2292 EXPECT_TRUE(reflection->HasField(message, F("optionalgroup" )));
2293 EXPECT_TRUE(reflection->HasField(message, F("optional_nested_message" )));
2294 EXPECT_TRUE(reflection->HasField(message, F("optional_foreign_message")));
2295 EXPECT_TRUE(reflection->HasField(message, F("optional_import_message" )));
2297 sub_message = &reflection->GetMessage(message, F("optionalgroup"));
2299 sub_message = &reflection->GetMessage(message, F("optional_nested_message"));
2301 sub_message = &reflection->GetMessage(message, F("optional_foreign_message"));
2303 sub_message = &reflection->GetMessage(message, F("optional_import_message"));
2306 EXPECT_TRUE(reflection->HasField(message, F("optional_nested_enum" )));
2307 EXPECT_TRUE(reflection->HasField(message, F("optional_foreign_enum")));
2308 EXPECT_TRUE(reflection->HasField(message, F("optional_import_enum" )));
2310 EXPECT_TRUE(reflection->HasField(message, F("optional_string_piece")));
2311 EXPECT_TRUE(reflection->HasField(message, F("optional_cord")));
2313 EXPECT_EQ(101 , reflection->GetInt32 (message, F("optional_int32" )));
2314 EXPECT_EQ(102 , reflection->GetInt64 (message, F("optional_int64" )));
2315 EXPECT_EQ(103 , reflection->GetUInt32(message, F("optional_uint32" )));
2316 EXPECT_EQ(104 , reflection->GetUInt64(message, F("optional_uint64" )));
2317 EXPECT_EQ(105 , reflection->GetInt32 (message, F("optional_sint32" )));
2318 EXPECT_EQ(106 , reflection->GetInt64 (message, F("optional_sint64" )));
2319 EXPECT_EQ(107 , reflection->GetUInt32(message, F("optional_fixed32" )));
2320 EXPECT_EQ(108 , reflection->GetUInt64(message, F("optional_fixed64" )));
2321 EXPECT_EQ(109 , reflection->GetInt32 (message, F("optional_sfixed32")));
2322 EXPECT_EQ(110 , reflection->GetInt64 (message, F("optional_sfixed64")));
2323 EXPECT_EQ(111 , reflection->GetFloat (message, F("optional_float" )));
2324 EXPECT_EQ(112 , reflection->GetDouble(message, F("optional_double" )));
2325 EXPECT_EQ(true , reflection->GetBool (message, F("optional_bool" )));
2326 EXPECT_EQ("115", reflection->GetString(message, F("optional_string" )));
2327 EXPECT_EQ("116", reflection->GetString(message, F("optional_bytes" )));
2329 EXPECT_EQ("115", reflection->GetStringReference(message, F("optional_string"), &scratch));
2330 EXPECT_EQ("116", reflection->GetStringReference(message, F("optional_bytes" ), &scratch));
2332 sub_message = &reflection->GetMessage(message, F("optionalgroup"));
2334 sub_message = &reflection->GetMessage(message, F("optional_nested_message"));
2336 sub_message = &reflection->GetMessage(message, F("optional_foreign_message"));
2338 sub_message = &reflection->GetMessage(message, F("optional_import_message"));
2341 EXPECT_EQ( nested_baz_, reflection->GetEnum(message, F("optional_nested_enum" )));
2342 EXPECT_EQ(foreign_baz_, reflection->GetEnum(message, F("optional_foreign_enum")));
2343 EXPECT_EQ( import_baz_, reflection->GetEnum(message, F("optional_import_enum" )));
2345 EXPECT_EQ("124", reflection->GetString(message, F("optional_string_piece")));
2346 EXPECT_EQ("124", reflection->GetStringReference(message, F("optional_string_piece"), &scratch));
2348 EXPECT_EQ("125", reflection->GetString(message, F("optional_cord")));
2349 EXPECT_EQ("125", reflection->GetStringReference(message, F("optional_cord"), &scratch));
2353 const Message& message) {
2354 const Reflection* reflection = message.GetReflection();
2360 ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_int32" )));
2361 ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_int64" )));
2362 ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_uint32" )));
2363 ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_uint64" )));
2364 ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_sint32" )));
2365 ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_sint64" )));
2366 ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_fixed32" )));
2367 ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_fixed64" )));
2368 ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_sfixed32")));
2369 ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_sfixed64")));
2370 ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_float" )));
2371 ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_double" )));
2372 ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_bool" )));
2373 ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_string" )));
2374 ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_bytes" )));
2376 ASSERT_EQ(2, reflection->FieldSize(message, F("repeatedgroup" )));
2377 ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_nested_message" )));
2378 ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_foreign_message")));
2379 ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_import_message" )));
2380 ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_nested_enum" )));
2381 ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_foreign_enum" )));
2382 ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_import_enum" )));
2384 ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_string_piece")));
2385 ASSERT_EQ(2, reflection->FieldSize(message, F("repeated_cord")));
2387 EXPECT_EQ(201 , reflection->GetRepeatedInt32 (message, F("repeated_int32" ), 0));
2388 EXPECT_EQ(202 , reflection->GetRepeatedInt64 (message, F("repeated_int64" ), 0));
2389 EXPECT_EQ(203 , reflection->GetRepeatedUInt32(message, F("repeated_uint32" ), 0));
2390 EXPECT_EQ(204 , reflection->GetRepeatedUInt64(message, F("repeated_uint64" ), 0));
2391 EXPECT_EQ(205 , reflection->GetRepeatedInt32 (message, F("repeated_sint32" ), 0));
2392 EXPECT_EQ(206 , reflection->GetRepeatedInt64 (message, F("repeated_sint64" ), 0));
2393 EXPECT_EQ(207 , reflection->GetRepeatedUInt32(message, F("repeated_fixed32" ), 0));
2394 EXPECT_EQ(208 , reflection->GetRepeatedUInt64(message, F("repeated_fixed64" ), 0));
2395 EXPECT_EQ(209 , reflection->GetRepeatedInt32 (message, F("repeated_sfixed32"), 0));
2396 EXPECT_EQ(210 , reflection->GetRepeatedInt64 (message, F("repeated_sfixed64"), 0));
2397 EXPECT_EQ(211 , reflection->GetRepeatedFloat (message, F("repeated_float" ), 0));
2398 EXPECT_EQ(212 , reflection->GetRepeatedDouble(message, F("repeated_double" ), 0));
2399 EXPECT_EQ(true , reflection->GetRepeatedBool (message, F("repeated_bool" ), 0));
2400 EXPECT_EQ("215", reflection->GetRepeatedString(message, F("repeated_string" ), 0));
2401 EXPECT_EQ("216", reflection->GetRepeatedString(message, F("repeated_bytes" ), 0));
2403 EXPECT_EQ("215", reflection->GetRepeatedStringReference(message, F("repeated_string"), 0, &scratch));
2404 EXPECT_EQ("216", reflection->GetRepeatedStringReference(message, F("repeated_bytes"), 0, &scratch));
2406 sub_message = &reflection->GetRepeatedMessage(message, F("repeatedgroup"), 0);
2408 sub_message = &reflection->GetRepeatedMessage(message, F("repeated_nested_message"), 0);
2410 sub_message = &reflection->GetRepeatedMessage(message, F("repeated_foreign_message"), 0);
2412 sub_message = &reflection->GetRepeatedMessage(message, F("repeated_import_message"), 0);
2415 EXPECT_EQ( nested_bar_, reflection->GetRepeatedEnum(message, F("repeated_nested_enum" ),0));
2416 EXPECT_EQ(foreign_bar_, reflection->GetRepeatedEnum(message, F("repeated_foreign_enum"),0));
2417 EXPECT_EQ( import_bar_, reflection->GetRepeatedEnum(message, F("repeated_import_enum" ),0));
2419 EXPECT_EQ("224", reflection->GetRepeatedString(message, F("repeated_string_piece"), 0));
2421 message, F("repeated_string_piece"), 0, &scratch));
2423 EXPECT_EQ("225", reflection->GetRepeatedString(message, F("repeated_cord"), 0));
2425 message, F("repeated_cord"), 0, &scratch));
2427 EXPECT_EQ(301 , reflection->GetRepeatedInt32 (message, F("repeated_int32" ), 1));
2428 EXPECT_EQ(302 , reflection->GetRepeatedInt64 (message, F("repeated_int64" ), 1));
2429 EXPECT_EQ(303 , reflection->GetRepeatedUInt32(message, F("repeated_uint32" ), 1));
2430 EXPECT_EQ(304 , reflection->GetRepeatedUInt64(message, F("repeated_uint64" ), 1));
2431 EXPECT_EQ(305 , reflection->GetRepeatedInt32 (message, F("repeated_sint32" ), 1));
2432 EXPECT_EQ(306 , reflection->GetRepeatedInt64 (message, F("repeated_sint64" ), 1));
2433 EXPECT_EQ(307 , reflection->GetRepeatedUInt32(message, F("repeated_fixed32" ), 1));
2434 EXPECT_EQ(308 , reflection->GetRepeatedUInt64(message, F("repeated_fixed64" ), 1));
2435 EXPECT_EQ(309 , reflection->GetRepeatedInt32 (message, F("repeated_sfixed32"), 1));
2436 EXPECT_EQ(310 , reflection->GetRepeatedInt64 (message, F("repeated_sfixed64"), 1));
2437 EXPECT_EQ(311 , reflection->GetRepeatedFloat (message, F("repeated_float" ), 1));
2438 EXPECT_EQ(312 , reflection->GetRepeatedDouble(message, F("repeated_double" ), 1));
2439 EXPECT_EQ(false, reflection->GetRepeatedBool (message, F("repeated_bool" ), 1));
2440 EXPECT_EQ("315", reflection->GetRepeatedString(message, F("repeated_string" ), 1));
2441 EXPECT_EQ("316", reflection->GetRepeatedString(message, F("repeated_bytes" ), 1));
2443 EXPECT_EQ("315", reflection->GetRepeatedStringReference(message, F("repeated_string"),
2445 EXPECT_EQ("316", reflection->GetRepeatedStringReference(message, F("repeated_bytes"),
2448 sub_message = &reflection->GetRepeatedMessage(message, F("repeatedgroup"), 1);
2450 sub_message = &reflection->GetRepeatedMessage(message, F("repeated_nested_message"), 1);
2452 sub_message = &reflection->GetRepeatedMessage(message, F("repeated_foreign_message"), 1);
2454 sub_message = &reflection->GetRepeatedMessage(message, F("repeated_import_message"), 1);
2457 EXPECT_EQ( nested_baz_, reflection->GetRepeatedEnum(message, F("repeated_nested_enum" ),1));
2458 EXPECT_EQ(foreign_baz_, reflection->GetRepeatedEnum(message, F("repeated_foreign_enum"),1));
2459 EXPECT_EQ( import_baz_, reflection->GetRepeatedEnum(message, F("repeated_import_enum" ),1));
2461 EXPECT_EQ("324", reflection->GetRepeatedString(message, F("repeated_string_piece"), 1));
2463 message, F("repeated_string_piece"), 1, &scratch));
2465 EXPECT_EQ("325", reflection->GetRepeatedString(message, F("repeated_cord"), 1));
2467 message, F("repeated_cord"), 1, &scratch));
2471 const Message& message) {
2472 const Reflection* reflection = message.GetReflection();
2477 EXPECT_TRUE(reflection->HasField(message, F("default_int32" )));
2478 EXPECT_TRUE(reflection->HasField(message, F("default_int64" )));
2479 EXPECT_TRUE(reflection->HasField(message, F("default_uint32" )));
2480 EXPECT_TRUE(reflection->HasField(message, F("default_uint64" )));
2481 EXPECT_TRUE(reflection->HasField(message, F("default_sint32" )));
2482 EXPECT_TRUE(reflection->HasField(message, F("default_sint64" )));
2483 EXPECT_TRUE(reflection->HasField(message, F("default_fixed32" )));
2484 EXPECT_TRUE(reflection->HasField(message, F("default_fixed64" )));
2485 EXPECT_TRUE(reflection->HasField(message, F("default_sfixed32")));
2486 EXPECT_TRUE(reflection->HasField(message, F("default_sfixed64")));
2487 EXPECT_TRUE(reflection->HasField(message, F("default_float" )));
2488 EXPECT_TRUE(reflection->HasField(message, F("default_double" )));
2489 EXPECT_TRUE(reflection->HasField(message, F("default_bool" )));
2490 EXPECT_TRUE(reflection->HasField(message, F("default_string" )));
2491 EXPECT_TRUE(reflection->HasField(message, F("default_bytes" )));
2493 EXPECT_TRUE(reflection->HasField(message, F("default_nested_enum" )));
2494 EXPECT_TRUE(reflection->HasField(message, F("default_foreign_enum")));
2495 EXPECT_TRUE(reflection->HasField(message, F("default_import_enum" )));
2497 EXPECT_TRUE(reflection->HasField(message, F("default_string_piece")));
2498 EXPECT_TRUE(reflection->HasField(message, F("default_cord")));
2500 EXPECT_EQ(401 , reflection->GetInt32 (message, F("default_int32" )));
2501 EXPECT_EQ(402 , reflection->GetInt64 (message, F("default_int64" )));
2502 EXPECT_EQ(403 , reflection->GetUInt32(message, F("default_uint32" )));
2503 EXPECT_EQ(404 , reflection->GetUInt64(message, F("default_uint64" )));
2504 EXPECT_EQ(405 , reflection->GetInt32 (message, F("default_sint32" )));
2505 EXPECT_EQ(406 , reflection->GetInt64 (message, F("default_sint64" )));
2506 EXPECT_EQ(407 , reflection->GetUInt32(message, F("default_fixed32" )));
2507 EXPECT_EQ(408 , reflection->GetUInt64(message, F("default_fixed64" )));
2508 EXPECT_EQ(409 , reflection->GetInt32 (message, F("default_sfixed32")));
2509 EXPECT_EQ(410 , reflection->GetInt64 (message, F("default_sfixed64")));
2510 EXPECT_EQ(411 , reflection->GetFloat (message, F("default_float" )));
2511 EXPECT_EQ(412 , reflection->GetDouble(message, F("default_double" )));
2512 EXPECT_EQ(false, reflection->GetBool (message, F("default_bool" )));
2513 EXPECT_EQ("415", reflection->GetString(message, F("default_string" )));
2514 EXPECT_EQ("416", reflection->GetString(message, F("default_bytes" )));
2516 EXPECT_EQ("415", reflection->GetStringReference(message, F("default_string"), &scratch));
2517 EXPECT_EQ("416", reflection->GetStringReference(message, F("default_bytes" ), &scratch));
2519 EXPECT_EQ( nested_foo_, reflection->GetEnum(message, F("default_nested_enum" )));
2520 EXPECT_EQ(foreign_foo_, reflection->GetEnum(message, F("default_foreign_enum")));
2521 EXPECT_EQ( import_foo_, reflection->GetEnum(message, F("default_import_enum" )));
2523 EXPECT_EQ("424", reflection->GetString(message, F("default_string_piece")));
2524 EXPECT_EQ("424", reflection->GetStringReference(message, F("default_string_piece"),
2527 EXPECT_EQ("425", reflection->GetString(message, F("default_cord")));
2528 EXPECT_EQ("425", reflection->GetStringReference(message, F("default_cord"), &scratch));
2532 const Message& message) {
2533 const Reflection* reflection = message.GetReflection();
2535 ASSERT_EQ(2, reflection->FieldSize(message, F("packed_int32" )));
2536 ASSERT_EQ(2, reflection->FieldSize(message, F("packed_int64" )));
2537 ASSERT_EQ(2, reflection->FieldSize(message, F("packed_uint32" )));
2538 ASSERT_EQ(2, reflection->FieldSize(message, F("packed_uint64" )));
2539 ASSERT_EQ(2, reflection->FieldSize(message, F("packed_sint32" )));
2540 ASSERT_EQ(2, reflection->FieldSize(message, F("packed_sint64" )));
2541 ASSERT_EQ(2, reflection->FieldSize(message, F("packed_fixed32" )));
2542 ASSERT_EQ(2, reflection->FieldSize(message, F("packed_fixed64" )));
2543 ASSERT_EQ(2, reflection->FieldSize(message, F("packed_sfixed32")));
2544 ASSERT_EQ(2, reflection->FieldSize(message, F("packed_sfixed64")));
2545 ASSERT_EQ(2, reflection->FieldSize(message, F("packed_float" )));
2546 ASSERT_EQ(2, reflection->FieldSize(message, F("packed_double" )));
2547 ASSERT_EQ(2, reflection->FieldSize(message, F("packed_bool" )));
2548 ASSERT_EQ(2, reflection->FieldSize(message, F("packed_enum" )));
2550 EXPECT_EQ(601 , reflection->GetRepeatedInt32 (message, F("packed_int32" ), 0));
2551 EXPECT_EQ(602 , reflection->GetRepeatedInt64 (message, F("packed_int64" ), 0));
2552 EXPECT_EQ(603 , reflection->GetRepeatedUInt32(message, F("packed_uint32" ), 0));
2553 EXPECT_EQ(604 , reflection->GetRepeatedUInt64(message, F("packed_uint64" ), 0));
2554 EXPECT_EQ(605 , reflection->GetRepeatedInt32 (message, F("packed_sint32" ), 0));
2555 EXPECT_EQ(606 , reflection->GetRepeatedInt64 (message, F("packed_sint64" ), 0));
2556 EXPECT_EQ(607 , reflection->GetRepeatedUInt32(message, F("packed_fixed32" ), 0));
2557 EXPECT_EQ(608 , reflection->GetRepeatedUInt64(message, F("packed_fixed64" ), 0));
2558 EXPECT_EQ(609 , reflection->GetRepeatedInt32 (message, F("packed_sfixed32"), 0));
2559 EXPECT_EQ(610 , reflection->GetRepeatedInt64 (message, F("packed_sfixed64"), 0));
2560 EXPECT_EQ(611 , reflection->GetRepeatedFloat (message, F("packed_float" ), 0));
2561 EXPECT_EQ(612 , reflection->GetRepeatedDouble(message, F("packed_double" ), 0));
2562 EXPECT_EQ(true , reflection->GetRepeatedBool (message, F("packed_bool" ), 0));
2564 reflection->GetRepeatedEnum(message, F("packed_enum"), 0));
2566 EXPECT_EQ(701 , reflection->GetRepeatedInt32 (message, F("packed_int32" ), 1));
2567 EXPECT_EQ(702 , reflection->GetRepeatedInt64 (message, F("packed_int64" ), 1));
2568 EXPECT_EQ(703 , reflection->GetRepeatedUInt32(message, F("packed_uint32" ), 1));
2569 EXPECT_EQ(704 , reflection->GetRepeatedUInt64(message, F("packed_uint64" ), 1));
2570 EXPECT_EQ(705 , reflection->GetRepeatedInt32 (message, F("packed_sint32" ), 1));
2571 EXPECT_EQ(706 , reflection->GetRepeatedInt64 (message, F("packed_sint64" ), 1));
2572 EXPECT_EQ(707 , reflection->GetRepeatedUInt32(message, F("packed_fixed32" ), 1));
2573 EXPECT_EQ(708 , reflection->GetRepeatedUInt64(message, F("packed_fixed64" ), 1));
2574 EXPECT_EQ(709 , reflection->GetRepeatedInt32 (message, F("packed_sfixed32"), 1));
2575 EXPECT_EQ(710 , reflection->GetRepeatedInt64 (message, F("packed_sfixed64"), 1));
2576 EXPECT_EQ(711 , reflection->GetRepeatedFloat (message, F("packed_float" ), 1));
2577 EXPECT_EQ(712 , reflection->GetRepeatedDouble(message, F("packed_double" ), 1));
2578 EXPECT_EQ(false, reflection->GetRepeatedBool (message, F("packed_bool" ), 1));
2580 reflection->GetRepeatedEnum(message, F("packed_enum"), 1));
2586 const Message& message) {
2587 const Reflection* reflection = message.GetReflection();
2592 EXPECT_FALSE(reflection->HasField(message, F("optional_int32" )));
2593 EXPECT_FALSE(reflection->HasField(message, F("optional_int64" )));
2594 EXPECT_FALSE(reflection->HasField(message, F("optional_uint32" )));
2595 EXPECT_FALSE(reflection->HasField(message, F("optional_uint64" )));
2596 EXPECT_FALSE(reflection->HasField(message, F("optional_sint32" )));
2597 EXPECT_FALSE(reflection->HasField(message, F("optional_sint64" )));
2598 EXPECT_FALSE(reflection->HasField(message, F("optional_fixed32" )));
2599 EXPECT_FALSE(reflection->HasField(message, F("optional_fixed64" )));
2600 EXPECT_FALSE(reflection->HasField(message, F("optional_sfixed32")));
2601 EXPECT_FALSE(reflection->HasField(message, F("optional_sfixed64")));
2602 EXPECT_FALSE(reflection->HasField(message, F("optional_float" )));
2603 EXPECT_FALSE(reflection->HasField(message, F("optional_double" )));
2604 EXPECT_FALSE(reflection->HasField(message, F("optional_bool" )));
2605 EXPECT_FALSE(reflection->HasField(message, F("optional_string" )));
2606 EXPECT_FALSE(reflection->HasField(message, F("optional_bytes" )));
2608 EXPECT_FALSE(reflection->HasField(message, F("optionalgroup" )));
2609 EXPECT_FALSE(reflection->HasField(message, F("optional_nested_message" )));
2610 EXPECT_FALSE(reflection->HasField(message, F("optional_foreign_message")));
2611 EXPECT_FALSE(reflection->HasField(message, F("optional_import_message" )));
2613 EXPECT_FALSE(reflection->HasField(message, F("optional_nested_enum" )));
2614 EXPECT_FALSE(reflection->HasField(message, F("optional_foreign_enum")));
2615 EXPECT_FALSE(reflection->HasField(message, F("optional_import_enum" )));
2617 EXPECT_FALSE(reflection->HasField(message, F("optional_string_piece")));
2618 EXPECT_FALSE(reflection->HasField(message, F("optional_cord")));
2621 EXPECT_EQ(0 , reflection->GetInt32 (message, F("optional_int32" )));
2622 EXPECT_EQ(0 , reflection->GetInt64 (message, F("optional_int64" )));
2623 EXPECT_EQ(0 , reflection->GetUInt32(message, F("optional_uint32" )));
2624 EXPECT_EQ(0 , reflection->GetUInt64(message, F("optional_uint64" )));
2625 EXPECT_EQ(0 , reflection->GetInt32 (message, F("optional_sint32" )));
2626 EXPECT_EQ(0 , reflection->GetInt64 (message, F("optional_sint64" )));
2627 EXPECT_EQ(0 , reflection->GetUInt32(message, F("optional_fixed32" )));
2628 EXPECT_EQ(0 , reflection->GetUInt64(message, F("optional_fixed64" )));
2629 EXPECT_EQ(0 , reflection->GetInt32 (message, F("optional_sfixed32")));
2630 EXPECT_EQ(0 , reflection->GetInt64 (message, F("optional_sfixed64")));
2631 EXPECT_EQ(0 , reflection->GetFloat (message, F("optional_float" )));
2632 EXPECT_EQ(0 , reflection->GetDouble(message, F("optional_double" )));
2633 EXPECT_EQ(false, reflection->GetBool (message, F("optional_bool" )));
2634 EXPECT_EQ("" , reflection->GetString(message, F("optional_string" )));
2635 EXPECT_EQ("" , reflection->GetString(message, F("optional_bytes" )));
2637 EXPECT_EQ("", reflection->GetStringReference(message, F("optional_string"), &scratch));
2638 EXPECT_EQ("", reflection->GetStringReference(message, F("optional_bytes" ), &scratch));
2641 sub_message = &reflection->GetMessage(message, F("optionalgroup"));
2644 sub_message = &reflection->GetMessage(message, F("optional_nested_message"));
2647 sub_message = &reflection->GetMessage(message, F("optional_foreign_message"));
2650 sub_message = &reflection->GetMessage(message, F("optional_import_message"));
2655 EXPECT_EQ( nested_foo_, reflection->GetEnum(message, F("optional_nested_enum" )));
2656 EXPECT_EQ(foreign_foo_, reflection->GetEnum(message, F("optional_foreign_enum")));
2657 EXPECT_EQ( import_foo_, reflection->GetEnum(message, F("optional_import_enum" )));
2659 EXPECT_EQ("", reflection->GetString(message, F("optional_string_piece")));
2660 EXPECT_EQ("", reflection->GetStringReference(message, F("optional_string_piece"), &scratch));
2662 EXPECT_EQ("", reflection->GetString(message, F("optional_cord")));
2663 EXPECT_EQ("", reflection->GetStringReference(message, F("optional_cord"), &scratch));
2666 EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_int32" )));
2667 EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_int64" )));
2668 EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_uint32" )));
2669 EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_uint64" )));
2670 EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_sint32" )));
2671 EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_sint64" )));
2672 EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_fixed32" )));
2673 EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_fixed64" )));
2674 EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_sfixed32")));
2675 EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_sfixed64")));
2676 EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_float" )));
2677 EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_double" )));
2678 EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_bool" )));
2679 EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_string" )));
2680 EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_bytes" )));
2682 EXPECT_EQ(0, reflection->FieldSize(message, F("repeatedgroup" )));
2683 EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_nested_message" )));
2684 EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_foreign_message")));
2685 EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_import_message" )));
2686 EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_nested_enum" )));
2687 EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_foreign_enum" )));
2688 EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_import_enum" )));
2690 EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_string_piece")));
2691 EXPECT_EQ(0, reflection->FieldSize(message, F("repeated_cord")));
2694 EXPECT_FALSE(reflection->HasField(message, F("default_int32" )));
2695 EXPECT_FALSE(reflection->HasField(message, F("default_int64" )));
2696 EXPECT_FALSE(reflection->HasField(message, F("default_uint32" )));
2697 EXPECT_FALSE(reflection->HasField(message, F("default_uint64" )));
2698 EXPECT_FALSE(reflection->HasField(message, F("default_sint32" )));
2699 EXPECT_FALSE(reflection->HasField(message, F("default_sint64" )));
2700 EXPECT_FALSE(reflection->HasField(message, F("default_fixed32" )));
2701 EXPECT_FALSE(reflection->HasField(message, F("default_fixed64" )));
2702 EXPECT_FALSE(reflection->HasField(message, F("default_sfixed32")));
2703 EXPECT_FALSE(reflection->HasField(message, F("default_sfixed64")));
2704 EXPECT_FALSE(reflection->HasField(message, F("default_float" )));
2705 EXPECT_FALSE(reflection->HasField(message, F("default_double" )));
2706 EXPECT_FALSE(reflection->HasField(message, F("default_bool" )));
2707 EXPECT_FALSE(reflection->HasField(message, F("default_string" )));
2708 EXPECT_FALSE(reflection->HasField(message, F("default_bytes" )));
2710 EXPECT_FALSE(reflection->HasField(message, F("default_nested_enum" )));
2711 EXPECT_FALSE(reflection->HasField(message, F("default_foreign_enum")));
2712 EXPECT_FALSE(reflection->HasField(message, F("default_import_enum" )));
2714 EXPECT_FALSE(reflection->HasField(message, F("default_string_piece")));
2715 EXPECT_FALSE(reflection->HasField(message, F("default_cord")));
2718 EXPECT_EQ( 41 , reflection->GetInt32 (message, F("default_int32" )));
2719 EXPECT_EQ( 42 , reflection->GetInt64 (message, F("default_int64" )));
2720 EXPECT_EQ( 43 , reflection->GetUInt32(message, F("default_uint32" )));
2721 EXPECT_EQ( 44 , reflection->GetUInt64(message, F("default_uint64" )));
2722 EXPECT_EQ(-45 , reflection->GetInt32 (message, F("default_sint32" )));
2723 EXPECT_EQ( 46 , reflection->GetInt64 (message, F("default_sint64" )));
2724 EXPECT_EQ( 47 , reflection->GetUInt32(message, F("default_fixed32" )));
2725 EXPECT_EQ( 48 , reflection->GetUInt64(message, F("default_fixed64" )));
2726 EXPECT_EQ( 49 , reflection->GetInt32 (message, F("default_sfixed32")));
2727 EXPECT_EQ(-50 , reflection->GetInt64 (message, F("default_sfixed64")));
2728 EXPECT_EQ( 51.5 , reflection->GetFloat (message, F("default_float" )));
2729 EXPECT_EQ( 52e3 , reflection->GetDouble(message, F("default_double" )));
2730 EXPECT_EQ(true , reflection->GetBool (message, F("default_bool" )));
2731 EXPECT_EQ("hello", reflection->GetString(message, F("default_string" )));
2732 EXPECT_EQ("world", reflection->GetString(message, F("default_bytes" )));
2734 EXPECT_EQ("hello", reflection->GetStringReference(message, F("default_string"), &scratch));
2735 EXPECT_EQ("world", reflection->GetStringReference(message, F("default_bytes" ), &scratch));
2737 EXPECT_EQ( nested_bar_, reflection->GetEnum(message, F("default_nested_enum" )));
2738 EXPECT_EQ(foreign_bar_, reflection->GetEnum(message, F("default_foreign_enum")));
2739 EXPECT_EQ( import_bar_, reflection->GetEnum(message, F("default_import_enum" )));
2741 EXPECT_EQ("abc", reflection->GetString(message, F("default_string_piece")));
2742 EXPECT_EQ("abc", reflection->GetStringReference(message, F("default_string_piece"), &scratch));
2744 EXPECT_EQ("123", reflection->GetString(message, F("default_cord")));
2745 EXPECT_EQ("123", reflection->GetStringReference(message, F("default_cord"), &scratch));
2749 const Message& message) {
2750 const Reflection* reflection = message.GetReflection();
2752 EXPECT_EQ(0, reflection->FieldSize(message, F("packed_int32" )));
2753 EXPECT_EQ(0, reflection->FieldSize(message, F("packed_int64" )));
2754 EXPECT_EQ(0, reflection->FieldSize(message, F("packed_uint32" )));
2755 EXPECT_EQ(0, reflection->FieldSize(message, F("packed_uint64" )));
2756 EXPECT_EQ(0, reflection->FieldSize(message, F("packed_sint32" )));
2757 EXPECT_EQ(0, reflection->FieldSize(message, F("packed_sint64" )));
2758 EXPECT_EQ(0, reflection->FieldSize(message, F("packed_fixed32" )));
2759 EXPECT_EQ(0, reflection->FieldSize(message, F("packed_fixed64" )));
2760 EXPECT_EQ(0, reflection->FieldSize(message, F("packed_sfixed32")));
2761 EXPECT_EQ(0, reflection->FieldSize(message, F("packed_sfixed64")));
2762 EXPECT_EQ(0, reflection->FieldSize(message, F("packed_float" )));
2763 EXPECT_EQ(0, reflection->FieldSize(message, F("packed_double" )));
2764 EXPECT_EQ(0, reflection->FieldSize(message, F("packed_bool" )));
2765 EXPECT_EQ(0, reflection->FieldSize(message, F("packed_enum" )));
2771 Message* message) {
2772 const Reflection* reflection = message->GetReflection();
2775 reflection->SetRepeatedInt32 (message, F("repeated_int32" ), 1, 501);
2776 reflection->SetRepeatedInt64 (message, F("repeated_int64" ), 1, 502);
2777 reflection->SetRepeatedUInt32(message, F("repeated_uint32" ), 1, 503);
2778 reflection->SetRepeatedUInt64(message, F("repeated_uint64" ), 1, 504);
2779 reflection->SetRepeatedInt32 (message, F("repeated_sint32" ), 1, 505);
2780 reflection->SetRepeatedInt64 (message, F("repeated_sint64" ), 1, 506);
2781 reflection->SetRepeatedUInt32(message, F("repeated_fixed32" ), 1, 507);
2782 reflection->SetRepeatedUInt64(message, F("repeated_fixed64" ), 1, 508);
2783 reflection->SetRepeatedInt32 (message, F("repeated_sfixed32"), 1, 509);
2784 reflection->SetRepeatedInt64 (message, F("repeated_sfixed64"), 1, 510);
2785 reflection->SetRepeatedFloat (message, F("repeated_float" ), 1, 511);
2786 reflection->SetRepeatedDouble(message, F("repeated_double" ), 1, 512);
2787 reflection->SetRepeatedBool (message, F("repeated_bool" ), 1, true);
2788 reflection->SetRepeatedString(message, F("repeated_string" ), 1, "515");
2789 reflection->SetRepeatedString(message, F("repeated_bytes" ), 1, "516");
2791 sub_message = reflection->MutableRepeatedMessage(message, F("repeatedgroup"), 1);
2793 sub_message = reflection->MutableRepeatedMessage(message, F("repeated_nested_message"), 1);
2795 sub_message = reflection->MutableRepeatedMessage(message, F("repeated_foreign_message"), 1);
2797 sub_message = reflection->MutableRepeatedMessage(message, F("repeated_import_message"), 1);
2800 reflection->SetRepeatedEnum(message, F("repeated_nested_enum" ), 1, nested_foo_);
2801 reflection->SetRepeatedEnum(message, F("repeated_foreign_enum"), 1, foreign_foo_);
2802 reflection->SetRepeatedEnum(message, F("repeated_import_enum" ), 1, import_foo_);
2804 reflection->SetRepeatedString(message, F("repeated_string_piece"), 1, "524");
2805 reflection->SetRepeatedString(message, F("repeated_cord"), 1, "525");
2809 Message* message) {
2810 const Reflection* reflection = message->GetReflection();
2811 reflection->SetRepeatedInt32 (message, F("packed_int32" ), 1, 801);
2812 reflection->SetRepeatedInt64 (message, F("packed_int64" ), 1, 802);
2813 reflection->SetRepeatedUInt32(message, F("packed_uint32" ), 1, 803);
2814 reflection->SetRepeatedUInt64(message, F("packed_uint64" ), 1, 804);
2815 reflection->SetRepeatedInt32 (message, F("packed_sint32" ), 1, 805);
2816 reflection->SetRepeatedInt64 (message, F("packed_sint64" ), 1, 806);
2817 reflection->SetRepeatedUInt32(message, F("packed_fixed32" ), 1, 807);
2818 reflection->SetRepeatedUInt64(message, F("packed_fixed64" ), 1, 808);
2819 reflection->SetRepeatedInt32 (message, F("packed_sfixed32"), 1, 809);
2820 reflection->SetRepeatedInt64 (message, F("packed_sfixed64"), 1, 810);
2821 reflection->SetRepeatedFloat (message, F("packed_float" ), 1, 811);
2822 reflection->SetRepeatedDouble(message, F("packed_double" ), 1, 812);
2823 reflection->SetRepeatedBool (message, F("packed_bool" ), 1, true);
2824 reflection->SetRepeatedEnum (message, F("packed_enum" ), 1, foreign_foo_);
2827 void TestUtil::ReflectionTester::RemoveLastRepeatedsViaReflection(Message* message) {
2828 const Reflection* reflection = message->GetReflection();
2831 reflection->ListFields(*message, &output);
2836 reflection->RemoveLast(message, field);
2840 void TestUtil::ReflectionTester::SwapRepeatedsViaReflection(Message* message) {
2841 const Reflection* reflection = message->GetReflection();
2844 reflection->ListFields(*message, &output);
2849 reflection->SwapElements(message, field, 0, 1);