xref: /aosp_15_r20/external/protobuf/csharp/src/Google.Protobuf.Test/SampleMessages.cs (revision 1b3f573f81763fcece89efc2b6a5209149e44ab8)
1*1b3f573fSAndroid Build Coastguard Worker #region Copyright notice and license
2*1b3f573fSAndroid Build Coastguard Worker // Protocol Buffers - Google's data interchange format
3*1b3f573fSAndroid Build Coastguard Worker // Copyright 2015 Google Inc.  All rights reserved.
4*1b3f573fSAndroid Build Coastguard Worker // https://developers.google.com/protocol-buffers/
5*1b3f573fSAndroid Build Coastguard Worker //
6*1b3f573fSAndroid Build Coastguard Worker // Redistribution and use in source and binary forms, with or without
7*1b3f573fSAndroid Build Coastguard Worker // modification, are permitted provided that the following conditions are
8*1b3f573fSAndroid Build Coastguard Worker // met:
9*1b3f573fSAndroid Build Coastguard Worker //
10*1b3f573fSAndroid Build Coastguard Worker //     * Redistributions of source code must retain the above copyright
11*1b3f573fSAndroid Build Coastguard Worker // notice, this list of conditions and the following disclaimer.
12*1b3f573fSAndroid Build Coastguard Worker //     * Redistributions in binary form must reproduce the above
13*1b3f573fSAndroid Build Coastguard Worker // copyright notice, this list of conditions and the following disclaimer
14*1b3f573fSAndroid Build Coastguard Worker // in the documentation and/or other materials provided with the
15*1b3f573fSAndroid Build Coastguard Worker // distribution.
16*1b3f573fSAndroid Build Coastguard Worker //     * Neither the name of Google Inc. nor the names of its
17*1b3f573fSAndroid Build Coastguard Worker // contributors may be used to endorse or promote products derived from
18*1b3f573fSAndroid Build Coastguard Worker // this software without specific prior written permission.
19*1b3f573fSAndroid Build Coastguard Worker //
20*1b3f573fSAndroid Build Coastguard Worker // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21*1b3f573fSAndroid Build Coastguard Worker // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22*1b3f573fSAndroid Build Coastguard Worker // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23*1b3f573fSAndroid Build Coastguard Worker // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24*1b3f573fSAndroid Build Coastguard Worker // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25*1b3f573fSAndroid Build Coastguard Worker // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26*1b3f573fSAndroid Build Coastguard Worker // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27*1b3f573fSAndroid Build Coastguard Worker // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28*1b3f573fSAndroid Build Coastguard Worker // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29*1b3f573fSAndroid Build Coastguard Worker // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30*1b3f573fSAndroid Build Coastguard Worker // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31*1b3f573fSAndroid Build Coastguard Worker #endregion
32*1b3f573fSAndroid Build Coastguard Worker 
33*1b3f573fSAndroid Build Coastguard Worker using System;
34*1b3f573fSAndroid Build Coastguard Worker using Google.Protobuf.TestProtos;
35*1b3f573fSAndroid Build Coastguard Worker using Proto2 = Google.Protobuf.TestProtos.Proto2;
36*1b3f573fSAndroid Build Coastguard Worker 
37*1b3f573fSAndroid Build Coastguard Worker using static Google.Protobuf.TestProtos.Proto2.UnittestExtensions;
38*1b3f573fSAndroid Build Coastguard Worker 
39*1b3f573fSAndroid Build Coastguard Worker namespace Google.Protobuf
40*1b3f573fSAndroid Build Coastguard Worker {
41*1b3f573fSAndroid Build Coastguard Worker     /// <summary>
42*1b3f573fSAndroid Build Coastguard Worker     /// Helper methods to create sample instances of types generated from unit test messages.
43*1b3f573fSAndroid Build Coastguard Worker     /// </summary>
44*1b3f573fSAndroid Build Coastguard Worker     public class SampleMessages
45*1b3f573fSAndroid Build Coastguard Worker     {
46*1b3f573fSAndroid Build Coastguard Worker         /// <summary>
47*1b3f573fSAndroid Build Coastguard Worker         /// Creates a new sample TestAllTypes message with all fields populated.
48*1b3f573fSAndroid Build Coastguard Worker         /// The "oneof" field is populated with the string property (OneofString).
49*1b3f573fSAndroid Build Coastguard Worker         /// </summary>
CreateFullTestAllTypes()50*1b3f573fSAndroid Build Coastguard Worker         public static TestAllTypes CreateFullTestAllTypes()
51*1b3f573fSAndroid Build Coastguard Worker         {
52*1b3f573fSAndroid Build Coastguard Worker             return new TestAllTypes
53*1b3f573fSAndroid Build Coastguard Worker             {
54*1b3f573fSAndroid Build Coastguard Worker                 SingleBool = true,
55*1b3f573fSAndroid Build Coastguard Worker                 SingleBytes = ByteString.CopyFrom(1, 2, 3, 4),
56*1b3f573fSAndroid Build Coastguard Worker                 SingleDouble = 23.5,
57*1b3f573fSAndroid Build Coastguard Worker                 SingleFixed32 = 23,
58*1b3f573fSAndroid Build Coastguard Worker                 SingleFixed64 = 1234567890123,
59*1b3f573fSAndroid Build Coastguard Worker                 SingleFloat = 12.25f,
60*1b3f573fSAndroid Build Coastguard Worker                 SingleForeignEnum = ForeignEnum.ForeignBar,
61*1b3f573fSAndroid Build Coastguard Worker                 SingleForeignMessage = new ForeignMessage { C = 10 },
62*1b3f573fSAndroid Build Coastguard Worker                 SingleImportEnum = ImportEnum.ImportBaz,
63*1b3f573fSAndroid Build Coastguard Worker                 SingleImportMessage = new ImportMessage { D = 20 },
64*1b3f573fSAndroid Build Coastguard Worker                 SingleInt32 = 100,
65*1b3f573fSAndroid Build Coastguard Worker                 SingleInt64 = 3210987654321,
66*1b3f573fSAndroid Build Coastguard Worker                 SingleNestedEnum = TestProtos.TestAllTypes.Types.NestedEnum.Foo,
67*1b3f573fSAndroid Build Coastguard Worker                 SingleNestedMessage = new TestAllTypes.Types.NestedMessage { Bb = 35 },
68*1b3f573fSAndroid Build Coastguard Worker                 SinglePublicImportMessage = new PublicImportMessage { E = 54 },
69*1b3f573fSAndroid Build Coastguard Worker                 SingleSfixed32 = -123,
70*1b3f573fSAndroid Build Coastguard Worker                 SingleSfixed64 = -12345678901234,
71*1b3f573fSAndroid Build Coastguard Worker                 SingleSint32 = -456,
72*1b3f573fSAndroid Build Coastguard Worker                 SingleSint64 = -12345678901235,
73*1b3f573fSAndroid Build Coastguard Worker                 SingleString = "test",
74*1b3f573fSAndroid Build Coastguard Worker                 SingleUint32 = UInt32.MaxValue,
75*1b3f573fSAndroid Build Coastguard Worker                 SingleUint64 = UInt64.MaxValue,
76*1b3f573fSAndroid Build Coastguard Worker                 RepeatedBool = { true, false },
77*1b3f573fSAndroid Build Coastguard Worker                 RepeatedBytes = { ByteString.CopyFrom(1, 2, 3, 4), ByteString.CopyFrom(5, 6), ByteString.CopyFrom(new byte[1000]) },
78*1b3f573fSAndroid Build Coastguard Worker                 RepeatedDouble = { -12.25, 23.5 },
79*1b3f573fSAndroid Build Coastguard Worker                 RepeatedFixed32 = { UInt32.MaxValue, 23 },
80*1b3f573fSAndroid Build Coastguard Worker                 RepeatedFixed64 = { UInt64.MaxValue, 1234567890123 },
81*1b3f573fSAndroid Build Coastguard Worker                 RepeatedFloat = { 100f, 12.25f },
82*1b3f573fSAndroid Build Coastguard Worker                 RepeatedForeignEnum = { ForeignEnum.ForeignFoo, ForeignEnum.ForeignBar },
83*1b3f573fSAndroid Build Coastguard Worker                 RepeatedForeignMessage = { new ForeignMessage(), new ForeignMessage { C = 10 } },
84*1b3f573fSAndroid Build Coastguard Worker                 RepeatedImportEnum = { ImportEnum.ImportBaz, ImportEnum.Unspecified },
85*1b3f573fSAndroid Build Coastguard Worker                 RepeatedImportMessage = { new ImportMessage { D = 20 }, new ImportMessage { D = 25 } },
86*1b3f573fSAndroid Build Coastguard Worker                 RepeatedInt32 = { 100, 200 },
87*1b3f573fSAndroid Build Coastguard Worker                 RepeatedInt64 = { 3210987654321, Int64.MaxValue },
88*1b3f573fSAndroid Build Coastguard Worker                 RepeatedNestedEnum = { TestProtos.TestAllTypes.Types.NestedEnum.Foo, TestProtos.TestAllTypes.Types.NestedEnum.Neg },
89*1b3f573fSAndroid Build Coastguard Worker                 RepeatedNestedMessage = { new TestAllTypes.Types.NestedMessage { Bb = 35 }, new TestAllTypes.Types.NestedMessage { Bb = 10 } },
90*1b3f573fSAndroid Build Coastguard Worker                 RepeatedPublicImportMessage = { new PublicImportMessage { E = 54 }, new PublicImportMessage { E = -1 } },
91*1b3f573fSAndroid Build Coastguard Worker                 RepeatedSfixed32 = { -123, 123 },
92*1b3f573fSAndroid Build Coastguard Worker                 RepeatedSfixed64 = { -12345678901234, 12345678901234 },
93*1b3f573fSAndroid Build Coastguard Worker                 RepeatedSint32 = { -456, 100 },
94*1b3f573fSAndroid Build Coastguard Worker                 RepeatedSint64 = { -12345678901235, 123 },
95*1b3f573fSAndroid Build Coastguard Worker                 RepeatedString = { "foo", "bar" },
96*1b3f573fSAndroid Build Coastguard Worker                 RepeatedUint32 = { UInt32.MaxValue, UInt32.MinValue },
97*1b3f573fSAndroid Build Coastguard Worker                 RepeatedUint64 = { UInt64.MaxValue, UInt32.MinValue },
98*1b3f573fSAndroid Build Coastguard Worker                 OneofString = "Oneof string"
99*1b3f573fSAndroid Build Coastguard Worker             };
100*1b3f573fSAndroid Build Coastguard Worker         }
101*1b3f573fSAndroid Build Coastguard Worker 
CreateFullTestAllTypesProto2()102*1b3f573fSAndroid Build Coastguard Worker         public static Proto2.TestAllTypes CreateFullTestAllTypesProto2()
103*1b3f573fSAndroid Build Coastguard Worker         {
104*1b3f573fSAndroid Build Coastguard Worker             return new Proto2.TestAllTypes
105*1b3f573fSAndroid Build Coastguard Worker             {
106*1b3f573fSAndroid Build Coastguard Worker                 OptionalBool = true,
107*1b3f573fSAndroid Build Coastguard Worker                 OptionalBytes = ByteString.CopyFrom(1, 2, 3, 4),
108*1b3f573fSAndroid Build Coastguard Worker                 OptionalDouble = 23.5,
109*1b3f573fSAndroid Build Coastguard Worker                 OptionalFixed32 = 23,
110*1b3f573fSAndroid Build Coastguard Worker                 OptionalFixed64 = 1234567890123,
111*1b3f573fSAndroid Build Coastguard Worker                 OptionalFloat = 12.25f,
112*1b3f573fSAndroid Build Coastguard Worker                 OptionalForeignEnum = Proto2.ForeignEnum.ForeignBar,
113*1b3f573fSAndroid Build Coastguard Worker                 OptionalForeignMessage = new Proto2.ForeignMessage { C = 10 },
114*1b3f573fSAndroid Build Coastguard Worker                 OptionalImportEnum = Proto2.ImportEnum.ImportBaz,
115*1b3f573fSAndroid Build Coastguard Worker                 OptionalImportMessage = new Proto2.ImportMessage { D = 20 },
116*1b3f573fSAndroid Build Coastguard Worker                 OptionalInt32 = 100,
117*1b3f573fSAndroid Build Coastguard Worker                 OptionalInt64 = 3210987654321,
118*1b3f573fSAndroid Build Coastguard Worker                 OptionalNestedEnum = Proto2.TestAllTypes.Types.NestedEnum.Foo,
119*1b3f573fSAndroid Build Coastguard Worker                 OptionalNestedMessage = new Proto2.TestAllTypes.Types.NestedMessage { Bb = 35 },
120*1b3f573fSAndroid Build Coastguard Worker                 OptionalPublicImportMessage = new Proto2.PublicImportMessage { E = 54 },
121*1b3f573fSAndroid Build Coastguard Worker                 OptionalSfixed32 = -123,
122*1b3f573fSAndroid Build Coastguard Worker                 OptionalSfixed64 = -12345678901234,
123*1b3f573fSAndroid Build Coastguard Worker                 OptionalSint32 = -456,
124*1b3f573fSAndroid Build Coastguard Worker                 OptionalSint64 = -12345678901235,
125*1b3f573fSAndroid Build Coastguard Worker                 OptionalString = "test",
126*1b3f573fSAndroid Build Coastguard Worker                 OptionalUint32 = UInt32.MaxValue,
127*1b3f573fSAndroid Build Coastguard Worker                 OptionalUint64 = UInt64.MaxValue,
128*1b3f573fSAndroid Build Coastguard Worker                 OptionalGroup = new Proto2.TestAllTypes.Types.OptionalGroup { A = 10 },
129*1b3f573fSAndroid Build Coastguard Worker                 RepeatedBool = { true, false },
130*1b3f573fSAndroid Build Coastguard Worker                 RepeatedBytes = { ByteString.CopyFrom(1, 2, 3, 4), ByteString.CopyFrom(5, 6), ByteString.CopyFrom(new byte[1000]) },
131*1b3f573fSAndroid Build Coastguard Worker                 RepeatedDouble = { -12.25, 23.5 },
132*1b3f573fSAndroid Build Coastguard Worker                 RepeatedFixed32 = { UInt32.MaxValue, 23 },
133*1b3f573fSAndroid Build Coastguard Worker                 RepeatedFixed64 = { UInt64.MaxValue, 1234567890123 },
134*1b3f573fSAndroid Build Coastguard Worker                 RepeatedFloat = { 100f, 12.25f },
135*1b3f573fSAndroid Build Coastguard Worker                 RepeatedForeignEnum = { Proto2.ForeignEnum.ForeignFoo, Proto2.ForeignEnum.ForeignBar },
136*1b3f573fSAndroid Build Coastguard Worker                 RepeatedForeignMessage = { new Proto2.ForeignMessage(), new Proto2.ForeignMessage { C = 10 } },
137*1b3f573fSAndroid Build Coastguard Worker                 RepeatedImportEnum = { Proto2.ImportEnum.ImportBaz, Proto2.ImportEnum.ImportFoo },
138*1b3f573fSAndroid Build Coastguard Worker                 RepeatedImportMessage = { new Proto2.ImportMessage { D = 20 }, new Proto2.ImportMessage { D = 25 } },
139*1b3f573fSAndroid Build Coastguard Worker                 RepeatedInt32 = { 100, 200 },
140*1b3f573fSAndroid Build Coastguard Worker                 RepeatedInt64 = { 3210987654321, Int64.MaxValue },
141*1b3f573fSAndroid Build Coastguard Worker                 RepeatedNestedEnum = { Proto2.TestAllTypes.Types.NestedEnum.Foo, Proto2.TestAllTypes.Types.NestedEnum.Neg },
142*1b3f573fSAndroid Build Coastguard Worker                 RepeatedNestedMessage = { new Proto2.TestAllTypes.Types.NestedMessage { Bb = 35 }, new Proto2.TestAllTypes.Types.NestedMessage { Bb = 10 } },
143*1b3f573fSAndroid Build Coastguard Worker                 RepeatedSfixed32 = { -123, 123 },
144*1b3f573fSAndroid Build Coastguard Worker                 RepeatedSfixed64 = { -12345678901234, 12345678901234 },
145*1b3f573fSAndroid Build Coastguard Worker                 RepeatedSint32 = { -456, 100 },
146*1b3f573fSAndroid Build Coastguard Worker                 RepeatedSint64 = { -12345678901235, 123 },
147*1b3f573fSAndroid Build Coastguard Worker                 RepeatedString = { "foo", "bar" },
148*1b3f573fSAndroid Build Coastguard Worker                 RepeatedUint32 = { UInt32.MaxValue, UInt32.MinValue },
149*1b3f573fSAndroid Build Coastguard Worker                 RepeatedUint64 = { UInt64.MaxValue, UInt32.MinValue },
150*1b3f573fSAndroid Build Coastguard Worker                 RepeatedGroup = { new Proto2.TestAllTypes.Types.RepeatedGroup { A = 10 }, new Proto2.TestAllTypes.Types.RepeatedGroup { A = 20 } },
151*1b3f573fSAndroid Build Coastguard Worker                 OneofString = "Oneof string"
152*1b3f573fSAndroid Build Coastguard Worker             };
153*1b3f573fSAndroid Build Coastguard Worker         }
154*1b3f573fSAndroid Build Coastguard Worker 
CreateFullTestAllExtensions()155*1b3f573fSAndroid Build Coastguard Worker         public static Proto2.TestAllExtensions CreateFullTestAllExtensions()
156*1b3f573fSAndroid Build Coastguard Worker         {
157*1b3f573fSAndroid Build Coastguard Worker             var message = new Proto2.TestAllExtensions();
158*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OptionalBoolExtension, true);
159*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OptionalBytesExtension, ByteString.CopyFrom(1, 2, 3, 4));
160*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OptionalDoubleExtension, 23.5);
161*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OptionalFixed32Extension, 23u);
162*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OptionalFixed64Extension, 1234567890123u);
163*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OptionalFloatExtension, 12.25f);
164*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OptionalForeignEnumExtension, Proto2.ForeignEnum.ForeignBar);
165*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OptionalForeignMessageExtension, new Proto2.ForeignMessage { C = 10 });
166*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OptionalImportEnumExtension, Proto2.ImportEnum.ImportBaz);
167*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OptionalImportMessageExtension, new Proto2.ImportMessage { D = 20 });
168*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OptionalInt32Extension, 100);
169*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OptionalInt64Extension, 3210987654321);
170*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OptionalNestedEnumExtension, Proto2.TestAllTypes.Types.NestedEnum.Foo);
171*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OptionalNestedMessageExtension, new Proto2.TestAllTypes.Types.NestedMessage { Bb = 35 });
172*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OptionalPublicImportMessageExtension, new Proto2.PublicImportMessage { E = 54 });
173*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OptionalSfixed32Extension, -123);
174*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OptionalSfixed64Extension, -12345678901234);
175*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OptionalSint32Extension, -456);
176*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OptionalSint64Extension, -12345678901235);
177*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OptionalStringExtension, "test");
178*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OptionalUint32Extension, UInt32.MaxValue);
179*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OptionalUint64Extension, UInt64.MaxValue);
180*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OptionalGroupExtension, new Proto2.OptionalGroup_extension { A = 10 });
181*1b3f573fSAndroid Build Coastguard Worker             message.GetOrInitializeExtension(RepeatedBoolExtension).AddRange(new[] { true, false });
182*1b3f573fSAndroid Build Coastguard Worker             message.GetOrInitializeExtension(RepeatedBytesExtension).AddRange(new[] { ByteString.CopyFrom(1, 2, 3, 4), ByteString.CopyFrom(5, 6), ByteString.CopyFrom(new byte[1000]) });
183*1b3f573fSAndroid Build Coastguard Worker             message.GetOrInitializeExtension(RepeatedDoubleExtension).AddRange(new[] { -12.25, 23.5 });
184*1b3f573fSAndroid Build Coastguard Worker             message.GetOrInitializeExtension(RepeatedFixed32Extension).AddRange(new[] { UInt32.MaxValue, 23u });
185*1b3f573fSAndroid Build Coastguard Worker             message.GetOrInitializeExtension(RepeatedFixed64Extension).AddRange(new[] { UInt64.MaxValue, 1234567890123ul });
186*1b3f573fSAndroid Build Coastguard Worker             message.GetOrInitializeExtension(RepeatedFloatExtension).AddRange(new[] { 100f, 12.25f });
187*1b3f573fSAndroid Build Coastguard Worker             message.GetOrInitializeExtension(RepeatedForeignEnumExtension).AddRange(new[] { Proto2.ForeignEnum.ForeignFoo, Proto2.ForeignEnum.ForeignBar });
188*1b3f573fSAndroid Build Coastguard Worker             message.GetOrInitializeExtension(RepeatedForeignMessageExtension).AddRange(new[] { new Proto2.ForeignMessage(), new Proto2.ForeignMessage { C = 10 } });
189*1b3f573fSAndroid Build Coastguard Worker             message.GetOrInitializeExtension(RepeatedImportEnumExtension).AddRange(new[] { Proto2.ImportEnum.ImportBaz, Proto2.ImportEnum.ImportFoo });
190*1b3f573fSAndroid Build Coastguard Worker             message.GetOrInitializeExtension(RepeatedImportMessageExtension).AddRange(new[] { new Proto2.ImportMessage { D = 20 }, new Proto2.ImportMessage { D = 25 } });
191*1b3f573fSAndroid Build Coastguard Worker             message.GetOrInitializeExtension(RepeatedInt32Extension).AddRange(new[] { 100, 200 });
192*1b3f573fSAndroid Build Coastguard Worker             message.GetOrInitializeExtension(RepeatedInt64Extension).AddRange(new[] { 3210987654321, Int64.MaxValue });
193*1b3f573fSAndroid Build Coastguard Worker             message.GetOrInitializeExtension(RepeatedNestedEnumExtension).AddRange(new[] { Proto2.TestAllTypes.Types.NestedEnum.Foo, Proto2.TestAllTypes.Types.NestedEnum.Neg });
194*1b3f573fSAndroid Build Coastguard Worker             message.GetOrInitializeExtension(RepeatedNestedMessageExtension).AddRange(new[] { new Proto2.TestAllTypes.Types.NestedMessage { Bb = 35 }, new Proto2.TestAllTypes.Types.NestedMessage { Bb = 10 } });
195*1b3f573fSAndroid Build Coastguard Worker             message.GetOrInitializeExtension(RepeatedSfixed32Extension).AddRange(new[] { -123, 123 });
196*1b3f573fSAndroid Build Coastguard Worker             message.GetOrInitializeExtension(RepeatedSfixed64Extension).AddRange(new[] { -12345678901234, 12345678901234 });
197*1b3f573fSAndroid Build Coastguard Worker             message.GetOrInitializeExtension(RepeatedSint32Extension).AddRange(new[] { -456, 100 });
198*1b3f573fSAndroid Build Coastguard Worker             message.GetOrInitializeExtension(RepeatedSint64Extension).AddRange(new[] { -12345678901235, 123 });
199*1b3f573fSAndroid Build Coastguard Worker             message.GetOrInitializeExtension(RepeatedStringExtension).AddRange(new[] { "foo", "bar" });
200*1b3f573fSAndroid Build Coastguard Worker             message.GetOrInitializeExtension(RepeatedUint32Extension).AddRange(new[] { UInt32.MaxValue, UInt32.MinValue });
201*1b3f573fSAndroid Build Coastguard Worker             message.GetOrInitializeExtension(RepeatedUint64Extension).AddRange(new[] { UInt64.MaxValue, UInt32.MinValue });
202*1b3f573fSAndroid Build Coastguard Worker             message.GetOrInitializeExtension(RepeatedGroupExtension).AddRange(new[] { new Proto2.RepeatedGroup_extension { A = 10 }, new Proto2.RepeatedGroup_extension { A = 20 } });
203*1b3f573fSAndroid Build Coastguard Worker             message.SetExtension(OneofStringExtension, "Oneof string");
204*1b3f573fSAndroid Build Coastguard Worker             return message;
205*1b3f573fSAndroid Build Coastguard Worker         }
206*1b3f573fSAndroid Build Coastguard Worker     }
207*1b3f573fSAndroid Build Coastguard Worker }