• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2008 Google Inc.  All rights reserved.
3 //
4 // Use of this source code is governed by a BSD-style
5 // license that can be found in the LICENSE file or at
6 // https://developers.google.com/open-source/licenses/bsd
7 
8 package com.google.protobuf;
9 
10 import static com.google.protobuf.UnittestLite.defaultBoolExtensionLite;
11 import static com.google.protobuf.UnittestLite.defaultBytesExtensionLite;
12 import static com.google.protobuf.UnittestLite.defaultCordExtensionLite;
13 import static com.google.protobuf.UnittestLite.defaultDoubleExtensionLite;
14 import static com.google.protobuf.UnittestLite.defaultFixed32ExtensionLite;
15 import static com.google.protobuf.UnittestLite.defaultFixed64ExtensionLite;
16 import static com.google.protobuf.UnittestLite.defaultFloatExtensionLite;
17 import static com.google.protobuf.UnittestLite.defaultForeignEnumExtensionLite;
18 import static com.google.protobuf.UnittestLite.defaultImportEnumExtensionLite;
19 import static com.google.protobuf.UnittestLite.defaultInt32ExtensionLite;
20 import static com.google.protobuf.UnittestLite.defaultInt64ExtensionLite;
21 import static com.google.protobuf.UnittestLite.defaultNestedEnumExtensionLite;
22 import static com.google.protobuf.UnittestLite.defaultSfixed32ExtensionLite;
23 import static com.google.protobuf.UnittestLite.defaultSfixed64ExtensionLite;
24 import static com.google.protobuf.UnittestLite.defaultSint32ExtensionLite;
25 import static com.google.protobuf.UnittestLite.defaultSint64ExtensionLite;
26 import static com.google.protobuf.UnittestLite.defaultStringExtensionLite;
27 import static com.google.protobuf.UnittestLite.defaultStringPieceExtensionLite;
28 import static com.google.protobuf.UnittestLite.defaultUint32ExtensionLite;
29 import static com.google.protobuf.UnittestLite.defaultUint64ExtensionLite;
30 import static com.google.protobuf.UnittestLite.oneofBytesExtensionLite;
31 import static com.google.protobuf.UnittestLite.oneofNestedMessageExtensionLite;
32 import static com.google.protobuf.UnittestLite.oneofStringExtensionLite;
33 import static com.google.protobuf.UnittestLite.oneofUint32ExtensionLite;
34 import static com.google.protobuf.UnittestLite.optionalBoolExtensionLite;
35 import static com.google.protobuf.UnittestLite.optionalBytesExtensionLite;
36 import static com.google.protobuf.UnittestLite.optionalCordExtensionLite;
37 import static com.google.protobuf.UnittestLite.optionalDoubleExtensionLite;
38 import static com.google.protobuf.UnittestLite.optionalFixed32ExtensionLite;
39 import static com.google.protobuf.UnittestLite.optionalFixed64ExtensionLite;
40 import static com.google.protobuf.UnittestLite.optionalFloatExtensionLite;
41 import static com.google.protobuf.UnittestLite.optionalForeignEnumExtensionLite;
42 import static com.google.protobuf.UnittestLite.optionalForeignMessageExtensionLite;
43 import static com.google.protobuf.UnittestLite.optionalGroupExtensionLite;
44 import static com.google.protobuf.UnittestLite.optionalImportEnumExtensionLite;
45 import static com.google.protobuf.UnittestLite.optionalImportMessageExtensionLite;
46 import static com.google.protobuf.UnittestLite.optionalInt32ExtensionLite;
47 import static com.google.protobuf.UnittestLite.optionalInt64ExtensionLite;
48 import static com.google.protobuf.UnittestLite.optionalLazyMessageExtensionLite;
49 import static com.google.protobuf.UnittestLite.optionalNestedEnumExtensionLite;
50 import static com.google.protobuf.UnittestLite.optionalNestedMessageExtensionLite;
51 import static com.google.protobuf.UnittestLite.optionalPublicImportMessageExtensionLite;
52 import static com.google.protobuf.UnittestLite.optionalSfixed32ExtensionLite;
53 import static com.google.protobuf.UnittestLite.optionalSfixed64ExtensionLite;
54 import static com.google.protobuf.UnittestLite.optionalSint32ExtensionLite;
55 import static com.google.protobuf.UnittestLite.optionalSint64ExtensionLite;
56 import static com.google.protobuf.UnittestLite.optionalStringExtensionLite;
57 import static com.google.protobuf.UnittestLite.optionalStringPieceExtensionLite;
58 import static com.google.protobuf.UnittestLite.optionalUint32ExtensionLite;
59 import static com.google.protobuf.UnittestLite.optionalUint64ExtensionLite;
60 import static com.google.protobuf.UnittestLite.optionalUnverifiedLazyMessageExtensionLite;
61 import static com.google.protobuf.UnittestLite.packedBoolExtensionLite;
62 import static com.google.protobuf.UnittestLite.packedDoubleExtensionLite;
63 import static com.google.protobuf.UnittestLite.packedEnumExtensionLite;
64 import static com.google.protobuf.UnittestLite.packedFixed32ExtensionLite;
65 import static com.google.protobuf.UnittestLite.packedFixed64ExtensionLite;
66 import static com.google.protobuf.UnittestLite.packedFloatExtensionLite;
67 import static com.google.protobuf.UnittestLite.packedInt32ExtensionLite;
68 import static com.google.protobuf.UnittestLite.packedInt64ExtensionLite;
69 import static com.google.protobuf.UnittestLite.packedSfixed32ExtensionLite;
70 import static com.google.protobuf.UnittestLite.packedSfixed64ExtensionLite;
71 import static com.google.protobuf.UnittestLite.packedSint32ExtensionLite;
72 import static com.google.protobuf.UnittestLite.packedSint64ExtensionLite;
73 import static com.google.protobuf.UnittestLite.packedUint32ExtensionLite;
74 import static com.google.protobuf.UnittestLite.packedUint64ExtensionLite;
75 import static com.google.protobuf.UnittestLite.repeatedBoolExtensionLite;
76 import static com.google.protobuf.UnittestLite.repeatedBytesExtensionLite;
77 import static com.google.protobuf.UnittestLite.repeatedCordExtensionLite;
78 import static com.google.protobuf.UnittestLite.repeatedDoubleExtensionLite;
79 import static com.google.protobuf.UnittestLite.repeatedFixed32ExtensionLite;
80 import static com.google.protobuf.UnittestLite.repeatedFixed64ExtensionLite;
81 import static com.google.protobuf.UnittestLite.repeatedFloatExtensionLite;
82 import static com.google.protobuf.UnittestLite.repeatedForeignEnumExtensionLite;
83 import static com.google.protobuf.UnittestLite.repeatedForeignMessageExtensionLite;
84 import static com.google.protobuf.UnittestLite.repeatedGroupExtensionLite;
85 import static com.google.protobuf.UnittestLite.repeatedImportEnumExtensionLite;
86 import static com.google.protobuf.UnittestLite.repeatedImportMessageExtensionLite;
87 import static com.google.protobuf.UnittestLite.repeatedInt32ExtensionLite;
88 import static com.google.protobuf.UnittestLite.repeatedInt64ExtensionLite;
89 import static com.google.protobuf.UnittestLite.repeatedLazyMessageExtensionLite;
90 import static com.google.protobuf.UnittestLite.repeatedNestedEnumExtensionLite;
91 import static com.google.protobuf.UnittestLite.repeatedNestedMessageExtensionLite;
92 import static com.google.protobuf.UnittestLite.repeatedSfixed32ExtensionLite;
93 import static com.google.protobuf.UnittestLite.repeatedSfixed64ExtensionLite;
94 import static com.google.protobuf.UnittestLite.repeatedSint32ExtensionLite;
95 import static com.google.protobuf.UnittestLite.repeatedSint64ExtensionLite;
96 import static com.google.protobuf.UnittestLite.repeatedStringExtensionLite;
97 import static com.google.protobuf.UnittestLite.repeatedStringPieceExtensionLite;
98 import static com.google.protobuf.UnittestLite.repeatedUint32ExtensionLite;
99 import static com.google.protobuf.UnittestLite.repeatedUint64ExtensionLite;
100 
101 import com.google.protobuf.UnittestImportLite.ImportEnumLite;
102 import com.google.protobuf.UnittestImportLite.ImportMessageLite;
103 import com.google.protobuf.UnittestImportPublicLite.PublicImportMessageLite;
104 import com.google.protobuf.UnittestLite.ForeignEnumLite;
105 import com.google.protobuf.UnittestLite.ForeignMessageLite;
106 import com.google.protobuf.UnittestLite.OptionalGroup_extension_lite;
107 import com.google.protobuf.UnittestLite.RepeatedGroup_extension_lite;
108 import com.google.protobuf.UnittestLite.TestAllExtensionsLite;
109 import com.google.protobuf.UnittestLite.TestAllTypesLite;
110 import com.google.protobuf.UnittestLite.TestPackedExtensionsLite;
111 
112 /**
113  * Contains methods for setting fields of {@code TestAllTypesLite}, {@code TestAllExtensionsLite},
114  * and {@code TestPackedExtensionsLite}. This is analogous to the functionality in TestUtil.java but
115  * does not depend on the presence of any non-lite protos.
116  *
117  * <p>This code is not to be used outside of {@code com.google.protobuf} and subpackages.
118  */
119 public final class TestUtilLite {
TestUtilLite()120   private TestUtilLite() {}
121 
122   /** Helper to convert a String to ByteString. */
toBytes(String str)123   public static ByteString toBytes(String str) {
124     return ByteString.copyFromUtf8(str);
125   }
126 
127   /**
128    * Get a {@code TestAllTypesLite.Builder} with all fields set as they would be by {@link
129    * #setAllFields(TestAllTypesLite.Builder)}.
130    */
getAllLiteSetBuilder()131   public static TestAllTypesLite.Builder getAllLiteSetBuilder() {
132     TestAllTypesLite.Builder builder = TestAllTypesLite.newBuilder();
133     setAllFields(builder);
134     return builder;
135   }
136 
137   /**
138    * Get a {@code TestAllExtensionsLite} with all fields set as they would be by {@link
139    * #setAllExtensions(TestAllExtensionsLite.Builder)}.
140    */
getAllLiteExtensionsSet()141   public static TestAllExtensionsLite getAllLiteExtensionsSet() {
142     TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.newBuilder();
143     setAllExtensions(builder);
144     return builder.build();
145   }
146 
getLitePackedExtensionsSet()147   public static TestPackedExtensionsLite getLitePackedExtensionsSet() {
148     TestPackedExtensionsLite.Builder builder = TestPackedExtensionsLite.newBuilder();
149     setPackedExtensions(builder);
150     return builder.build();
151   }
152 
153   /** Set every field of {@code builder} to the values expected by {@code assertAllFieldsSet()}. */
setAllFields(TestAllTypesLite.Builder builder)154   public static void setAllFields(TestAllTypesLite.Builder builder) {
155     builder.setOptionalInt32(101);
156     builder.setOptionalInt64(102);
157     builder.setOptionalUint32(103);
158     builder.setOptionalUint64(104);
159     builder.setOptionalSint32(105);
160     builder.setOptionalSint64(106);
161     builder.setOptionalFixed32(107);
162     builder.setOptionalFixed64(108);
163     builder.setOptionalSfixed32(109);
164     builder.setOptionalSfixed64(110);
165     builder.setOptionalFloat(111);
166     builder.setOptionalDouble(112);
167     builder.setOptionalBool(true);
168     builder.setOptionalString("115");
169     builder.setOptionalBytes(toBytes("116"));
170 
171     builder.setOptionalGroup(TestAllTypesLite.OptionalGroup.newBuilder().setA(117).build());
172     builder.setOptionalNestedMessage(
173         TestAllTypesLite.NestedMessage.newBuilder().setBb(118).build());
174     builder.setOptionalForeignMessage(ForeignMessageLite.newBuilder().setC(119).build());
175     builder.setOptionalImportMessage(ImportMessageLite.newBuilder().setD(120).build());
176     builder.setOptionalPublicImportMessage(PublicImportMessageLite.newBuilder().setE(126).build());
177     builder.setOptionalLazyMessage(TestAllTypesLite.NestedMessage.newBuilder().setBb(127).build());
178     builder.setOptionalUnverifiedLazyMessage(
179         TestAllTypesLite.NestedMessage.newBuilder().setBb(128).build());
180 
181     builder.setOptionalNestedEnum(TestAllTypesLite.NestedEnum.BAZ);
182     builder.setOptionalForeignEnum(ForeignEnumLite.FOREIGN_LITE_BAZ);
183     builder.setOptionalImportEnum(ImportEnumLite.IMPORT_LITE_BAZ);
184 
185     builder.setOptionalStringPiece("124");
186     builder.setOptionalCord("125");
187 
188     // -----------------------------------------------------------------
189 
190     builder.addRepeatedInt32(201);
191     builder.addRepeatedInt64(202);
192     builder.addRepeatedUint32(203);
193     builder.addRepeatedUint64(204);
194     builder.addRepeatedSint32(205);
195     builder.addRepeatedSint64(206);
196     builder.addRepeatedFixed32(207);
197     builder.addRepeatedFixed64(208);
198     builder.addRepeatedSfixed32(209);
199     builder.addRepeatedSfixed64(210);
200     builder.addRepeatedFloat(211);
201     builder.addRepeatedDouble(212);
202     builder.addRepeatedBool(true);
203     builder.addRepeatedString("215");
204     builder.addRepeatedBytes(toBytes("216"));
205 
206     builder.addRepeatedGroup(TestAllTypesLite.RepeatedGroup.newBuilder().setA(217).build());
207     builder.addRepeatedNestedMessage(
208         TestAllTypesLite.NestedMessage.newBuilder().setBb(218).build());
209     builder.addRepeatedForeignMessage(ForeignMessageLite.newBuilder().setC(219).build());
210     builder.addRepeatedImportMessage(ImportMessageLite.newBuilder().setD(220).build());
211     builder.addRepeatedLazyMessage(TestAllTypesLite.NestedMessage.newBuilder().setBb(227).build());
212 
213     builder.addRepeatedNestedEnum(TestAllTypesLite.NestedEnum.BAR);
214     builder.addRepeatedForeignEnum(ForeignEnumLite.FOREIGN_LITE_BAR);
215     builder.addRepeatedImportEnum(ImportEnumLite.IMPORT_LITE_BAR);
216 
217     builder.addRepeatedStringPiece("224");
218     builder.addRepeatedCord("225");
219 
220     // Add a second one of each field.
221     builder.addRepeatedInt32(301);
222     builder.addRepeatedInt64(302);
223     builder.addRepeatedUint32(303);
224     builder.addRepeatedUint64(304);
225     builder.addRepeatedSint32(305);
226     builder.addRepeatedSint64(306);
227     builder.addRepeatedFixed32(307);
228     builder.addRepeatedFixed64(308);
229     builder.addRepeatedSfixed32(309);
230     builder.addRepeatedSfixed64(310);
231     builder.addRepeatedFloat(311);
232     builder.addRepeatedDouble(312);
233     builder.addRepeatedBool(false);
234     builder.addRepeatedString("315");
235     builder.addRepeatedBytes(toBytes("316"));
236 
237     builder.addRepeatedGroup(TestAllTypesLite.RepeatedGroup.newBuilder().setA(317).build());
238     builder.addRepeatedNestedMessage(
239         TestAllTypesLite.NestedMessage.newBuilder().setBb(318).build());
240     builder.addRepeatedForeignMessage(ForeignMessageLite.newBuilder().setC(319).build());
241     builder.addRepeatedImportMessage(ImportMessageLite.newBuilder().setD(320).build());
242     builder.addRepeatedLazyMessage(TestAllTypesLite.NestedMessage.newBuilder().setBb(327).build());
243 
244     builder.addRepeatedNestedEnum(TestAllTypesLite.NestedEnum.BAZ);
245     builder.addRepeatedForeignEnum(ForeignEnumLite.FOREIGN_LITE_BAZ);
246     builder.addRepeatedImportEnum(ImportEnumLite.IMPORT_LITE_BAZ);
247 
248     builder.addRepeatedStringPiece("324");
249     builder.addRepeatedCord("325");
250 
251     // -----------------------------------------------------------------
252 
253     builder.setDefaultInt32(401);
254     builder.setDefaultInt64(402);
255     builder.setDefaultUint32(403);
256     builder.setDefaultUint64(404);
257     builder.setDefaultSint32(405);
258     builder.setDefaultSint64(406);
259     builder.setDefaultFixed32(407);
260     builder.setDefaultFixed64(408);
261     builder.setDefaultSfixed32(409);
262     builder.setDefaultSfixed64(410);
263     builder.setDefaultFloat(411);
264     builder.setDefaultDouble(412);
265     builder.setDefaultBool(false);
266     builder.setDefaultString("415");
267     builder.setDefaultBytes(toBytes("416"));
268 
269     builder.setDefaultNestedEnum(TestAllTypesLite.NestedEnum.FOO);
270     builder.setDefaultForeignEnum(ForeignEnumLite.FOREIGN_LITE_FOO);
271     builder.setDefaultImportEnum(ImportEnumLite.IMPORT_LITE_FOO);
272 
273     builder.setDefaultStringPiece("424");
274     builder.setDefaultCord("425");
275 
276     builder.setOneofUint32(601);
277     builder.setOneofNestedMessage(TestAllTypesLite.NestedMessage.newBuilder().setBb(602).build());
278     builder.setOneofString("603");
279     builder.setOneofBytes(toBytes("604"));
280   }
281 
282   /**
283    * Get an unmodifiable {@link ExtensionRegistryLite} containing all the extensions of {@code
284    * TestAllExtensionsLite}.
285    */
getExtensionRegistryLite()286   public static ExtensionRegistryLite getExtensionRegistryLite() {
287     ExtensionRegistryLite registry = ExtensionRegistryLite.newInstance();
288     registerAllExtensionsLite(registry);
289     return registry.getUnmodifiable();
290   }
291 
292   /**
293    * Register all of {@code TestAllExtensionsLite}'s extensions with the given {@link
294    * ExtensionRegistryLite}.
295    */
registerAllExtensionsLite(ExtensionRegistryLite registry)296   public static void registerAllExtensionsLite(ExtensionRegistryLite registry) {
297     UnittestLite.registerAllExtensions(registry);
298   }
299 
300   // ===================================================================
301   // Lite extensions
302 
303   /**
304    * Set every field of {@code message} to the values expected by {@code assertAllExtensionsSet()}.
305    */
setAllExtensions(TestAllExtensionsLite.Builder message)306   public static void setAllExtensions(TestAllExtensionsLite.Builder message) {
307     message.setExtension(optionalInt32ExtensionLite, 101);
308     message.setExtension(optionalInt64ExtensionLite, 102L);
309     message.setExtension(optionalUint32ExtensionLite, 103);
310     message.setExtension(optionalUint64ExtensionLite, 104L);
311     message.setExtension(optionalSint32ExtensionLite, 105);
312     message.setExtension(optionalSint64ExtensionLite, 106L);
313     message.setExtension(optionalFixed32ExtensionLite, 107);
314     message.setExtension(optionalFixed64ExtensionLite, 108L);
315     message.setExtension(optionalSfixed32ExtensionLite, 109);
316     message.setExtension(optionalSfixed64ExtensionLite, 110L);
317     message.setExtension(optionalFloatExtensionLite, 111F);
318     message.setExtension(optionalDoubleExtensionLite, 112D);
319     message.setExtension(optionalBoolExtensionLite, true);
320     message.setExtension(optionalStringExtensionLite, "115");
321     message.setExtension(optionalBytesExtensionLite, toBytes("116"));
322 
323     message.setExtension(
324         optionalGroupExtensionLite, OptionalGroup_extension_lite.newBuilder().setA(117).build());
325     message.setExtension(
326         optionalNestedMessageExtensionLite,
327         TestAllTypesLite.NestedMessage.newBuilder().setBb(118).build());
328     message.setExtension(
329         optionalForeignMessageExtensionLite, ForeignMessageLite.newBuilder().setC(119).build());
330     message.setExtension(
331         optionalImportMessageExtensionLite, ImportMessageLite.newBuilder().setD(120).build());
332     message.setExtension(
333         optionalPublicImportMessageExtensionLite,
334         PublicImportMessageLite.newBuilder().setE(126).build());
335     message.setExtension(
336         optionalLazyMessageExtensionLite,
337         TestAllTypesLite.NestedMessage.newBuilder().setBb(127).build());
338     message.setExtension(
339         optionalUnverifiedLazyMessageExtensionLite,
340         TestAllTypesLite.NestedMessage.newBuilder().setBb(128).build());
341 
342     message.setExtension(optionalNestedEnumExtensionLite, TestAllTypesLite.NestedEnum.BAZ);
343     message.setExtension(optionalForeignEnumExtensionLite, ForeignEnumLite.FOREIGN_LITE_BAZ);
344     message.setExtension(optionalImportEnumExtensionLite, ImportEnumLite.IMPORT_LITE_BAZ);
345 
346     message.setExtension(optionalStringPieceExtensionLite, "124");
347     message.setExtension(optionalCordExtensionLite, "125");
348 
349     // -----------------------------------------------------------------
350 
351     message.addExtension(repeatedInt32ExtensionLite, 201);
352     message.addExtension(repeatedInt64ExtensionLite, 202L);
353     message.addExtension(repeatedUint32ExtensionLite, 203);
354     message.addExtension(repeatedUint64ExtensionLite, 204L);
355     message.addExtension(repeatedSint32ExtensionLite, 205);
356     message.addExtension(repeatedSint64ExtensionLite, 206L);
357     message.addExtension(repeatedFixed32ExtensionLite, 207);
358     message.addExtension(repeatedFixed64ExtensionLite, 208L);
359     message.addExtension(repeatedSfixed32ExtensionLite, 209);
360     message.addExtension(repeatedSfixed64ExtensionLite, 210L);
361     message.addExtension(repeatedFloatExtensionLite, 211F);
362     message.addExtension(repeatedDoubleExtensionLite, 212D);
363     message.addExtension(repeatedBoolExtensionLite, true);
364     message.addExtension(repeatedStringExtensionLite, "215");
365     message.addExtension(repeatedBytesExtensionLite, toBytes("216"));
366 
367     message.addExtension(
368         repeatedGroupExtensionLite, RepeatedGroup_extension_lite.newBuilder().setA(217).build());
369     message.addExtension(
370         repeatedNestedMessageExtensionLite,
371         TestAllTypesLite.NestedMessage.newBuilder().setBb(218).build());
372     message.addExtension(
373         repeatedForeignMessageExtensionLite, ForeignMessageLite.newBuilder().setC(219).build());
374     message.addExtension(
375         repeatedImportMessageExtensionLite, ImportMessageLite.newBuilder().setD(220).build());
376     message.addExtension(
377         repeatedLazyMessageExtensionLite,
378         TestAllTypesLite.NestedMessage.newBuilder().setBb(227).build());
379 
380     message.addExtension(repeatedNestedEnumExtensionLite, TestAllTypesLite.NestedEnum.BAR);
381     message.addExtension(repeatedForeignEnumExtensionLite, ForeignEnumLite.FOREIGN_LITE_BAR);
382     message.addExtension(repeatedImportEnumExtensionLite, ImportEnumLite.IMPORT_LITE_BAR);
383 
384     message.addExtension(repeatedStringPieceExtensionLite, "224");
385     message.addExtension(repeatedCordExtensionLite, "225");
386 
387     // Add a second one of each field.
388     message.addExtension(repeatedInt32ExtensionLite, 301);
389     message.addExtension(repeatedInt64ExtensionLite, 302L);
390     message.addExtension(repeatedUint32ExtensionLite, 303);
391     message.addExtension(repeatedUint64ExtensionLite, 304L);
392     message.addExtension(repeatedSint32ExtensionLite, 305);
393     message.addExtension(repeatedSint64ExtensionLite, 306L);
394     message.addExtension(repeatedFixed32ExtensionLite, 307);
395     message.addExtension(repeatedFixed64ExtensionLite, 308L);
396     message.addExtension(repeatedSfixed32ExtensionLite, 309);
397     message.addExtension(repeatedSfixed64ExtensionLite, 310L);
398     message.addExtension(repeatedFloatExtensionLite, 311F);
399     message.addExtension(repeatedDoubleExtensionLite, 312D);
400     message.addExtension(repeatedBoolExtensionLite, false);
401     message.addExtension(repeatedStringExtensionLite, "315");
402     message.addExtension(repeatedBytesExtensionLite, toBytes("316"));
403 
404     message.addExtension(
405         repeatedGroupExtensionLite, RepeatedGroup_extension_lite.newBuilder().setA(317).build());
406     message.addExtension(
407         repeatedNestedMessageExtensionLite,
408         TestAllTypesLite.NestedMessage.newBuilder().setBb(318).build());
409     message.addExtension(
410         repeatedForeignMessageExtensionLite, ForeignMessageLite.newBuilder().setC(319).build());
411     message.addExtension(
412         repeatedImportMessageExtensionLite, ImportMessageLite.newBuilder().setD(320).build());
413     message.addExtension(
414         repeatedLazyMessageExtensionLite,
415         TestAllTypesLite.NestedMessage.newBuilder().setBb(327).build());
416 
417     message.addExtension(repeatedNestedEnumExtensionLite, TestAllTypesLite.NestedEnum.BAZ);
418     message.addExtension(repeatedForeignEnumExtensionLite, ForeignEnumLite.FOREIGN_LITE_BAZ);
419     message.addExtension(repeatedImportEnumExtensionLite, ImportEnumLite.IMPORT_LITE_BAZ);
420 
421     message.addExtension(repeatedStringPieceExtensionLite, "324");
422     message.addExtension(repeatedCordExtensionLite, "325");
423 
424     // -----------------------------------------------------------------
425 
426     message.setExtension(defaultInt32ExtensionLite, 401);
427     message.setExtension(defaultInt64ExtensionLite, 402L);
428     message.setExtension(defaultUint32ExtensionLite, 403);
429     message.setExtension(defaultUint64ExtensionLite, 404L);
430     message.setExtension(defaultSint32ExtensionLite, 405);
431     message.setExtension(defaultSint64ExtensionLite, 406L);
432     message.setExtension(defaultFixed32ExtensionLite, 407);
433     message.setExtension(defaultFixed64ExtensionLite, 408L);
434     message.setExtension(defaultSfixed32ExtensionLite, 409);
435     message.setExtension(defaultSfixed64ExtensionLite, 410L);
436     message.setExtension(defaultFloatExtensionLite, 411F);
437     message.setExtension(defaultDoubleExtensionLite, 412D);
438     message.setExtension(defaultBoolExtensionLite, false);
439     message.setExtension(defaultStringExtensionLite, "415");
440     message.setExtension(defaultBytesExtensionLite, toBytes("416"));
441 
442     message.setExtension(defaultNestedEnumExtensionLite, TestAllTypesLite.NestedEnum.FOO);
443     message.setExtension(defaultForeignEnumExtensionLite, ForeignEnumLite.FOREIGN_LITE_FOO);
444     message.setExtension(defaultImportEnumExtensionLite, ImportEnumLite.IMPORT_LITE_FOO);
445 
446     message.setExtension(defaultStringPieceExtensionLite, "424");
447     message.setExtension(defaultCordExtensionLite, "425");
448 
449     message.setExtension(oneofUint32ExtensionLite, 601);
450     message.setExtension(
451         oneofNestedMessageExtensionLite,
452         TestAllTypesLite.NestedMessage.newBuilder().setBb(602).build());
453     message.setExtension(oneofStringExtensionLite, "603");
454     message.setExtension(oneofBytesExtensionLite, toBytes("604"));
455   }
456 
457   // -------------------------------------------------------------------
458 
459   /**
460    * Modify the repeated extensions of {@code message} to contain the values expected by {@code
461    * assertRepeatedExtensionsModified()}.
462    */
modifyRepeatedExtensions(TestAllExtensionsLite.Builder message)463   public static void modifyRepeatedExtensions(TestAllExtensionsLite.Builder message) {
464     message.setExtension(repeatedInt32ExtensionLite, 1, 501);
465     message.setExtension(repeatedInt64ExtensionLite, 1, 502L);
466     message.setExtension(repeatedUint32ExtensionLite, 1, 503);
467     message.setExtension(repeatedUint64ExtensionLite, 1, 504L);
468     message.setExtension(repeatedSint32ExtensionLite, 1, 505);
469     message.setExtension(repeatedSint64ExtensionLite, 1, 506L);
470     message.setExtension(repeatedFixed32ExtensionLite, 1, 507);
471     message.setExtension(repeatedFixed64ExtensionLite, 1, 508L);
472     message.setExtension(repeatedSfixed32ExtensionLite, 1, 509);
473     message.setExtension(repeatedSfixed64ExtensionLite, 1, 510L);
474     message.setExtension(repeatedFloatExtensionLite, 1, 511F);
475     message.setExtension(repeatedDoubleExtensionLite, 1, 512D);
476     message.setExtension(repeatedBoolExtensionLite, 1, true);
477     message.setExtension(repeatedStringExtensionLite, 1, "515");
478     message.setExtension(repeatedBytesExtensionLite, 1, toBytes("516"));
479 
480     message.setExtension(
481         repeatedGroupExtensionLite, 1, RepeatedGroup_extension_lite.newBuilder().setA(517).build());
482     message.setExtension(
483         repeatedNestedMessageExtensionLite,
484         1,
485         TestAllTypesLite.NestedMessage.newBuilder().setBb(518).build());
486     message.setExtension(
487         repeatedForeignMessageExtensionLite, 1, ForeignMessageLite.newBuilder().setC(519).build());
488     message.setExtension(
489         repeatedImportMessageExtensionLite, 1, ImportMessageLite.newBuilder().setD(520).build());
490     message.setExtension(
491         repeatedLazyMessageExtensionLite,
492         1,
493         TestAllTypesLite.NestedMessage.newBuilder().setBb(527).build());
494 
495     message.setExtension(repeatedNestedEnumExtensionLite, 1, TestAllTypesLite.NestedEnum.FOO);
496     message.setExtension(repeatedForeignEnumExtensionLite, 1, ForeignEnumLite.FOREIGN_LITE_FOO);
497     message.setExtension(repeatedImportEnumExtensionLite, 1, ImportEnumLite.IMPORT_LITE_FOO);
498 
499     message.setExtension(repeatedStringPieceExtensionLite, 1, "524");
500     message.setExtension(repeatedCordExtensionLite, 1, "525");
501   }
502 
setPackedExtensions(TestPackedExtensionsLite.Builder message)503   public static void setPackedExtensions(TestPackedExtensionsLite.Builder message) {
504     message.addExtension(packedInt32ExtensionLite, 601);
505     message.addExtension(packedInt64ExtensionLite, 602L);
506     message.addExtension(packedUint32ExtensionLite, 603);
507     message.addExtension(packedUint64ExtensionLite, 604L);
508     message.addExtension(packedSint32ExtensionLite, 605);
509     message.addExtension(packedSint64ExtensionLite, 606L);
510     message.addExtension(packedFixed32ExtensionLite, 607);
511     message.addExtension(packedFixed64ExtensionLite, 608L);
512     message.addExtension(packedSfixed32ExtensionLite, 609);
513     message.addExtension(packedSfixed64ExtensionLite, 610L);
514     message.addExtension(packedFloatExtensionLite, 611F);
515     message.addExtension(packedDoubleExtensionLite, 612D);
516     message.addExtension(packedBoolExtensionLite, true);
517     message.addExtension(packedEnumExtensionLite, ForeignEnumLite.FOREIGN_LITE_BAR);
518     // Add a second one of each field.
519     message.addExtension(packedInt32ExtensionLite, 701);
520     message.addExtension(packedInt64ExtensionLite, 702L);
521     message.addExtension(packedUint32ExtensionLite, 703);
522     message.addExtension(packedUint64ExtensionLite, 704L);
523     message.addExtension(packedSint32ExtensionLite, 705);
524     message.addExtension(packedSint64ExtensionLite, 706L);
525     message.addExtension(packedFixed32ExtensionLite, 707);
526     message.addExtension(packedFixed64ExtensionLite, 708L);
527     message.addExtension(packedSfixed32ExtensionLite, 709);
528     message.addExtension(packedSfixed64ExtensionLite, 710L);
529     message.addExtension(packedFloatExtensionLite, 711F);
530     message.addExtension(packedDoubleExtensionLite, 712D);
531     message.addExtension(packedBoolExtensionLite, false);
532     message.addExtension(packedEnumExtensionLite, ForeignEnumLite.FOREIGN_LITE_BAZ);
533   }
534 }
535