PageRenderTime 50ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/thirdparty/breakpad/third_party/protobuf/protobuf/java/src/test/java/com/google/protobuf/TestUtil.java

http://github.com/tomahawk-player/tomahawk
Java | 1278 lines | 1021 code | 127 blank | 130 comment | 0 complexity | e96d58a1d50e576fb4df7cb2ff66b36a MD5 | raw file
Possible License(s): LGPL-2.1, BSD-3-Clause, GPL-3.0, GPL-2.0
  1. // Protocol Buffers - Google's data interchange format
  2. // Copyright 2008 Google Inc. All rights reserved.
  3. // http://code.google.com/p/protobuf/
  4. //
  5. // Redistribution and use in source and binary forms, with or without
  6. // modification, are permitted provided that the following conditions are
  7. // met:
  8. //
  9. // * Redistributions of source code must retain the above copyright
  10. // notice, this list of conditions and the following disclaimer.
  11. // * Redistributions in binary form must reproduce the above
  12. // copyright notice, this list of conditions and the following disclaimer
  13. // in the documentation and/or other materials provided with the
  14. // distribution.
  15. // * Neither the name of Google Inc. nor the names of its
  16. // contributors may be used to endorse or promote products derived from
  17. // this software without specific prior written permission.
  18. //
  19. // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  20. // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  21. // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  22. // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  23. // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  24. // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  25. // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  26. // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  27. // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  28. // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  29. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  30. package com.google.protobuf;
  31. import protobuf_unittest.UnittestProto;
  32. import com.google.protobuf.UnittestLite;
  33. // The static imports are to avoid 100+ char lines. The following is roughly equivalent to
  34. // import static protobuf_unittest.UnittestProto.*;
  35. import static protobuf_unittest.UnittestProto.defaultInt32Extension;
  36. import static protobuf_unittest.UnittestProto.defaultInt64Extension;
  37. import static protobuf_unittest.UnittestProto.defaultUint32Extension;
  38. import static protobuf_unittest.UnittestProto.defaultUint64Extension;
  39. import static protobuf_unittest.UnittestProto.defaultSint32Extension;
  40. import static protobuf_unittest.UnittestProto.defaultSint64Extension;
  41. import static protobuf_unittest.UnittestProto.defaultFixed32Extension;
  42. import static protobuf_unittest.UnittestProto.defaultFixed64Extension;
  43. import static protobuf_unittest.UnittestProto.defaultSfixed32Extension;
  44. import static protobuf_unittest.UnittestProto.defaultSfixed64Extension;
  45. import static protobuf_unittest.UnittestProto.defaultFloatExtension;
  46. import static protobuf_unittest.UnittestProto.defaultDoubleExtension;
  47. import static protobuf_unittest.UnittestProto.defaultBoolExtension;
  48. import static protobuf_unittest.UnittestProto.defaultStringExtension;
  49. import static protobuf_unittest.UnittestProto.defaultBytesExtension;
  50. import static protobuf_unittest.UnittestProto.defaultNestedEnumExtension;
  51. import static protobuf_unittest.UnittestProto.defaultForeignEnumExtension;
  52. import static protobuf_unittest.UnittestProto.defaultImportEnumExtension;
  53. import static protobuf_unittest.UnittestProto.defaultStringPieceExtension;
  54. import static protobuf_unittest.UnittestProto.defaultCordExtension;
  55. import static protobuf_unittest.UnittestProto.optionalInt32Extension;
  56. import static protobuf_unittest.UnittestProto.optionalInt64Extension;
  57. import static protobuf_unittest.UnittestProto.optionalUint32Extension;
  58. import static protobuf_unittest.UnittestProto.optionalUint64Extension;
  59. import static protobuf_unittest.UnittestProto.optionalSint32Extension;
  60. import static protobuf_unittest.UnittestProto.optionalSint64Extension;
  61. import static protobuf_unittest.UnittestProto.optionalFixed32Extension;
  62. import static protobuf_unittest.UnittestProto.optionalFixed64Extension;
  63. import static protobuf_unittest.UnittestProto.optionalSfixed32Extension;
  64. import static protobuf_unittest.UnittestProto.optionalSfixed64Extension;
  65. import static protobuf_unittest.UnittestProto.optionalFloatExtension;
  66. import static protobuf_unittest.UnittestProto.optionalDoubleExtension;
  67. import static protobuf_unittest.UnittestProto.optionalBoolExtension;
  68. import static protobuf_unittest.UnittestProto.optionalStringExtension;
  69. import static protobuf_unittest.UnittestProto.optionalBytesExtension;
  70. import static protobuf_unittest.UnittestProto.optionalGroupExtension;
  71. import static protobuf_unittest.UnittestProto.optionalNestedMessageExtension;
  72. import static protobuf_unittest.UnittestProto.optionalForeignMessageExtension;
  73. import static protobuf_unittest.UnittestProto.optionalImportMessageExtension;
  74. import static protobuf_unittest.UnittestProto.optionalNestedEnumExtension;
  75. import static protobuf_unittest.UnittestProto.optionalForeignEnumExtension;
  76. import static protobuf_unittest.UnittestProto.optionalImportEnumExtension;
  77. import static protobuf_unittest.UnittestProto.optionalStringPieceExtension;
  78. import static protobuf_unittest.UnittestProto.optionalCordExtension;
  79. import static protobuf_unittest.UnittestProto.repeatedInt32Extension;
  80. import static protobuf_unittest.UnittestProto.repeatedInt64Extension;
  81. import static protobuf_unittest.UnittestProto.repeatedUint32Extension;
  82. import static protobuf_unittest.UnittestProto.repeatedUint64Extension;
  83. import static protobuf_unittest.UnittestProto.repeatedSint32Extension;
  84. import static protobuf_unittest.UnittestProto.repeatedSint64Extension;
  85. import static protobuf_unittest.UnittestProto.repeatedFixed32Extension;
  86. import static protobuf_unittest.UnittestProto.repeatedFixed64Extension;
  87. import static protobuf_unittest.UnittestProto.repeatedSfixed32Extension;
  88. import static protobuf_unittest.UnittestProto.repeatedSfixed64Extension;
  89. import static protobuf_unittest.UnittestProto.repeatedFloatExtension;
  90. import static protobuf_unittest.UnittestProto.repeatedDoubleExtension;
  91. import static protobuf_unittest.UnittestProto.repeatedBoolExtension;
  92. import static protobuf_unittest.UnittestProto.repeatedStringExtension;
  93. import static protobuf_unittest.UnittestProto.repeatedBytesExtension;
  94. import static protobuf_unittest.UnittestProto.repeatedGroupExtension;
  95. import static protobuf_unittest.UnittestProto.repeatedNestedMessageExtension;
  96. import static protobuf_unittest.UnittestProto.repeatedForeignMessageExtension;
  97. import static protobuf_unittest.UnittestProto.repeatedImportMessageExtension;
  98. import static protobuf_unittest.UnittestProto.repeatedNestedEnumExtension;
  99. import static protobuf_unittest.UnittestProto.repeatedForeignEnumExtension;
  100. import static protobuf_unittest.UnittestProto.repeatedImportEnumExtension;
  101. import static protobuf_unittest.UnittestProto.repeatedStringPieceExtension;
  102. import static protobuf_unittest.UnittestProto.repeatedCordExtension;
  103. import static protobuf_unittest.UnittestProto.OptionalGroup_extension;
  104. import static protobuf_unittest.UnittestProto.RepeatedGroup_extension;
  105. import static protobuf_unittest.UnittestProto.packedInt32Extension;
  106. import static protobuf_unittest.UnittestProto.packedInt64Extension;
  107. import static protobuf_unittest.UnittestProto.packedUint32Extension;
  108. import static protobuf_unittest.UnittestProto.packedUint64Extension;
  109. import static protobuf_unittest.UnittestProto.packedSint32Extension;
  110. import static protobuf_unittest.UnittestProto.packedSint64Extension;
  111. import static protobuf_unittest.UnittestProto.packedFixed32Extension;
  112. import static protobuf_unittest.UnittestProto.packedFixed64Extension;
  113. import static protobuf_unittest.UnittestProto.packedSfixed32Extension;
  114. import static protobuf_unittest.UnittestProto.packedSfixed64Extension;
  115. import static protobuf_unittest.UnittestProto.packedFloatExtension;
  116. import static protobuf_unittest.UnittestProto.packedDoubleExtension;
  117. import static protobuf_unittest.UnittestProto.packedBoolExtension;
  118. import static protobuf_unittest.UnittestProto.packedEnumExtension;
  119. import static com.google.protobuf.UnittestLite.defaultInt32ExtensionLite;
  120. import static com.google.protobuf.UnittestLite.defaultInt64ExtensionLite;
  121. import static com.google.protobuf.UnittestLite.defaultUint32ExtensionLite;
  122. import static com.google.protobuf.UnittestLite.defaultUint64ExtensionLite;
  123. import static com.google.protobuf.UnittestLite.defaultSint32ExtensionLite;
  124. import static com.google.protobuf.UnittestLite.defaultSint64ExtensionLite;
  125. import static com.google.protobuf.UnittestLite.defaultFixed32ExtensionLite;
  126. import static com.google.protobuf.UnittestLite.defaultFixed64ExtensionLite;
  127. import static com.google.protobuf.UnittestLite.defaultSfixed32ExtensionLite;
  128. import static com.google.protobuf.UnittestLite.defaultSfixed64ExtensionLite;
  129. import static com.google.protobuf.UnittestLite.defaultFloatExtensionLite;
  130. import static com.google.protobuf.UnittestLite.defaultDoubleExtensionLite;
  131. import static com.google.protobuf.UnittestLite.defaultBoolExtensionLite;
  132. import static com.google.protobuf.UnittestLite.defaultStringExtensionLite;
  133. import static com.google.protobuf.UnittestLite.defaultBytesExtensionLite;
  134. import static com.google.protobuf.UnittestLite.defaultNestedEnumExtensionLite;
  135. import static com.google.protobuf.UnittestLite.defaultForeignEnumExtensionLite;
  136. import static com.google.protobuf.UnittestLite.defaultImportEnumExtensionLite;
  137. import static com.google.protobuf.UnittestLite.defaultStringPieceExtensionLite;
  138. import static com.google.protobuf.UnittestLite.defaultCordExtensionLite;
  139. import static com.google.protobuf.UnittestLite.optionalInt32ExtensionLite;
  140. import static com.google.protobuf.UnittestLite.optionalInt64ExtensionLite;
  141. import static com.google.protobuf.UnittestLite.optionalUint32ExtensionLite;
  142. import static com.google.protobuf.UnittestLite.optionalUint64ExtensionLite;
  143. import static com.google.protobuf.UnittestLite.optionalSint32ExtensionLite;
  144. import static com.google.protobuf.UnittestLite.optionalSint64ExtensionLite;
  145. import static com.google.protobuf.UnittestLite.optionalFixed32ExtensionLite;
  146. import static com.google.protobuf.UnittestLite.optionalFixed64ExtensionLite;
  147. import static com.google.protobuf.UnittestLite.optionalSfixed32ExtensionLite;
  148. import static com.google.protobuf.UnittestLite.optionalSfixed64ExtensionLite;
  149. import static com.google.protobuf.UnittestLite.optionalFloatExtensionLite;
  150. import static com.google.protobuf.UnittestLite.optionalDoubleExtensionLite;
  151. import static com.google.protobuf.UnittestLite.optionalBoolExtensionLite;
  152. import static com.google.protobuf.UnittestLite.optionalStringExtensionLite;
  153. import static com.google.protobuf.UnittestLite.optionalBytesExtensionLite;
  154. import static com.google.protobuf.UnittestLite.optionalGroupExtensionLite;
  155. import static com.google.protobuf.UnittestLite.optionalNestedMessageExtensionLite;
  156. import static com.google.protobuf.UnittestLite.optionalForeignMessageExtensionLite;
  157. import static com.google.protobuf.UnittestLite.optionalImportMessageExtensionLite;
  158. import static com.google.protobuf.UnittestLite.optionalNestedEnumExtensionLite;
  159. import static com.google.protobuf.UnittestLite.optionalForeignEnumExtensionLite;
  160. import static com.google.protobuf.UnittestLite.optionalImportEnumExtensionLite;
  161. import static com.google.protobuf.UnittestLite.optionalStringPieceExtensionLite;
  162. import static com.google.protobuf.UnittestLite.optionalCordExtensionLite;
  163. import static com.google.protobuf.UnittestLite.repeatedInt32ExtensionLite;
  164. import static com.google.protobuf.UnittestLite.repeatedInt64ExtensionLite;
  165. import static com.google.protobuf.UnittestLite.repeatedUint32ExtensionLite;
  166. import static com.google.protobuf.UnittestLite.repeatedUint64ExtensionLite;
  167. import static com.google.protobuf.UnittestLite.repeatedSint32ExtensionLite;
  168. import static com.google.protobuf.UnittestLite.repeatedSint64ExtensionLite;
  169. import static com.google.protobuf.UnittestLite.repeatedFixed32ExtensionLite;
  170. import static com.google.protobuf.UnittestLite.repeatedFixed64ExtensionLite;
  171. import static com.google.protobuf.UnittestLite.repeatedSfixed32ExtensionLite;
  172. import static com.google.protobuf.UnittestLite.repeatedSfixed64ExtensionLite;
  173. import static com.google.protobuf.UnittestLite.repeatedFloatExtensionLite;
  174. import static com.google.protobuf.UnittestLite.repeatedDoubleExtensionLite;
  175. import static com.google.protobuf.UnittestLite.repeatedBoolExtensionLite;
  176. import static com.google.protobuf.UnittestLite.repeatedStringExtensionLite;
  177. import static com.google.protobuf.UnittestLite.repeatedBytesExtensionLite;
  178. import static com.google.protobuf.UnittestLite.repeatedGroupExtensionLite;
  179. import static com.google.protobuf.UnittestLite.repeatedNestedMessageExtensionLite;
  180. import static com.google.protobuf.UnittestLite.repeatedForeignMessageExtensionLite;
  181. import static com.google.protobuf.UnittestLite.repeatedImportMessageExtensionLite;
  182. import static com.google.protobuf.UnittestLite.repeatedNestedEnumExtensionLite;
  183. import static com.google.protobuf.UnittestLite.repeatedForeignEnumExtensionLite;
  184. import static com.google.protobuf.UnittestLite.repeatedImportEnumExtensionLite;
  185. import static com.google.protobuf.UnittestLite.repeatedStringPieceExtensionLite;
  186. import static com.google.protobuf.UnittestLite.repeatedCordExtensionLite;
  187. import static com.google.protobuf.UnittestLite.OptionalGroup_extension_lite;
  188. import static com.google.protobuf.UnittestLite.RepeatedGroup_extension_lite;
  189. import static com.google.protobuf.UnittestLite.packedInt32ExtensionLite;
  190. import static com.google.protobuf.UnittestLite.packedInt64ExtensionLite;
  191. import static com.google.protobuf.UnittestLite.packedUint32ExtensionLite;
  192. import static com.google.protobuf.UnittestLite.packedUint64ExtensionLite;
  193. import static com.google.protobuf.UnittestLite.packedSint32ExtensionLite;
  194. import static com.google.protobuf.UnittestLite.packedSint64ExtensionLite;
  195. import static com.google.protobuf.UnittestLite.packedFixed32ExtensionLite;
  196. import static com.google.protobuf.UnittestLite.packedFixed64ExtensionLite;
  197. import static com.google.protobuf.UnittestLite.packedSfixed32ExtensionLite;
  198. import static com.google.protobuf.UnittestLite.packedSfixed64ExtensionLite;
  199. import static com.google.protobuf.UnittestLite.packedFloatExtensionLite;
  200. import static com.google.protobuf.UnittestLite.packedDoubleExtensionLite;
  201. import static com.google.protobuf.UnittestLite.packedBoolExtensionLite;
  202. import static com.google.protobuf.UnittestLite.packedEnumExtensionLite;
  203. import protobuf_unittest.UnittestProto.TestAllExtensions;
  204. import protobuf_unittest.UnittestProto.TestAllExtensionsOrBuilder;
  205. import protobuf_unittest.UnittestProto.TestAllTypes;
  206. import protobuf_unittest.UnittestProto.TestAllTypesOrBuilder;
  207. import protobuf_unittest.UnittestProto.TestPackedExtensions;
  208. import protobuf_unittest.UnittestProto.TestPackedTypes;
  209. import protobuf_unittest.UnittestProto.TestUnpackedTypes;
  210. import protobuf_unittest.UnittestProto.ForeignMessage;
  211. import protobuf_unittest.UnittestProto.ForeignEnum;
  212. import com.google.protobuf.test.UnittestImport.ImportMessage;
  213. import com.google.protobuf.test.UnittestImport.ImportEnum;
  214. import com.google.protobuf.UnittestLite.TestAllTypesLite;
  215. import com.google.protobuf.UnittestLite.TestAllExtensionsLite;
  216. import com.google.protobuf.UnittestLite.TestAllExtensionsLiteOrBuilder;
  217. import com.google.protobuf.UnittestLite.TestPackedExtensionsLite;
  218. import com.google.protobuf.UnittestLite.ForeignMessageLite;
  219. import com.google.protobuf.UnittestLite.ForeignEnumLite;
  220. import com.google.protobuf.UnittestImportLite.ImportMessageLite;
  221. import com.google.protobuf.UnittestImportLite.ImportEnumLite;
  222. import junit.framework.Assert;
  223. import java.io.File;
  224. import java.io.IOException;
  225. import java.io.RandomAccessFile;
  226. /**
  227. * Contains methods for setting all fields of {@code TestAllTypes} to
  228. * some vaules as well as checking that all the fields are set to those values.
  229. * These are useful for testing various protocol message features, e.g.
  230. * set all fields of a message, serialize it, parse it, and check that all
  231. * fields are set.
  232. *
  233. * <p>This code is not to be used outside of {@code com.google.protobuf} and
  234. * subpackages.
  235. *
  236. * @author kenton@google.com Kenton Varda
  237. */
  238. public final class TestUtil {
  239. private TestUtil() {}
  240. /** Helper to convert a String to ByteString. */
  241. static ByteString toBytes(String str) {
  242. try {
  243. return ByteString.copyFrom(str.getBytes("UTF-8"));
  244. } catch(java.io.UnsupportedEncodingException e) {
  245. throw new RuntimeException("UTF-8 not supported.", e);
  246. }
  247. }
  248. /**
  249. * Get a {@code TestAllTypes} with all fields set as they would be by
  250. * {@link #setAllFields(TestAllTypes.Builder)}.
  251. */
  252. public static TestAllTypes getAllSet() {
  253. TestAllTypes.Builder builder = TestAllTypes.newBuilder();
  254. setAllFields(builder);
  255. return builder.build();
  256. }
  257. /**
  258. * Get a {@code TestAllExtensions} with all fields set as they would be by
  259. * {@link #setAllExtensions(TestAllExtensions.Builder)}.
  260. */
  261. public static TestAllExtensions getAllExtensionsSet() {
  262. TestAllExtensions.Builder builder = TestAllExtensions.newBuilder();
  263. setAllExtensions(builder);
  264. return builder.build();
  265. }
  266. public static TestAllExtensionsLite getAllLiteExtensionsSet() {
  267. TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.newBuilder();
  268. setAllExtensions(builder);
  269. return builder.build();
  270. }
  271. public static TestPackedTypes getPackedSet() {
  272. TestPackedTypes.Builder builder = TestPackedTypes.newBuilder();
  273. setPackedFields(builder);
  274. return builder.build();
  275. }
  276. public static TestUnpackedTypes getUnpackedSet() {
  277. TestUnpackedTypes.Builder builder = TestUnpackedTypes.newBuilder();
  278. setUnpackedFields(builder);
  279. return builder.build();
  280. }
  281. public static TestPackedExtensions getPackedExtensionsSet() {
  282. TestPackedExtensions.Builder builder = TestPackedExtensions.newBuilder();
  283. setPackedExtensions(builder);
  284. return builder.build();
  285. }
  286. public static TestPackedExtensionsLite getLitePackedExtensionsSet() {
  287. TestPackedExtensionsLite.Builder builder =
  288. TestPackedExtensionsLite.newBuilder();
  289. setPackedExtensions(builder);
  290. return builder.build();
  291. }
  292. /**
  293. * Set every field of {@code message} to the values expected by
  294. * {@code assertAllFieldsSet()}.
  295. */
  296. public static void setAllFields(TestAllTypes.Builder message) {
  297. message.setOptionalInt32 (101);
  298. message.setOptionalInt64 (102);
  299. message.setOptionalUint32 (103);
  300. message.setOptionalUint64 (104);
  301. message.setOptionalSint32 (105);
  302. message.setOptionalSint64 (106);
  303. message.setOptionalFixed32 (107);
  304. message.setOptionalFixed64 (108);
  305. message.setOptionalSfixed32(109);
  306. message.setOptionalSfixed64(110);
  307. message.setOptionalFloat (111);
  308. message.setOptionalDouble (112);
  309. message.setOptionalBool (true);
  310. message.setOptionalString ("115");
  311. message.setOptionalBytes (toBytes("116"));
  312. message.setOptionalGroup(
  313. TestAllTypes.OptionalGroup.newBuilder().setA(117).build());
  314. message.setOptionalNestedMessage(
  315. TestAllTypes.NestedMessage.newBuilder().setBb(118).build());
  316. message.setOptionalForeignMessage(
  317. ForeignMessage.newBuilder().setC(119).build());
  318. message.setOptionalImportMessage(
  319. ImportMessage.newBuilder().setD(120).build());
  320. message.setOptionalNestedEnum (TestAllTypes.NestedEnum.BAZ);
  321. message.setOptionalForeignEnum(ForeignEnum.FOREIGN_BAZ);
  322. message.setOptionalImportEnum (ImportEnum.IMPORT_BAZ);
  323. message.setOptionalStringPiece("124");
  324. message.setOptionalCord("125");
  325. // -----------------------------------------------------------------
  326. message.addRepeatedInt32 (201);
  327. message.addRepeatedInt64 (202);
  328. message.addRepeatedUint32 (203);
  329. message.addRepeatedUint64 (204);
  330. message.addRepeatedSint32 (205);
  331. message.addRepeatedSint64 (206);
  332. message.addRepeatedFixed32 (207);
  333. message.addRepeatedFixed64 (208);
  334. message.addRepeatedSfixed32(209);
  335. message.addRepeatedSfixed64(210);
  336. message.addRepeatedFloat (211);
  337. message.addRepeatedDouble (212);
  338. message.addRepeatedBool (true);
  339. message.addRepeatedString ("215");
  340. message.addRepeatedBytes (toBytes("216"));
  341. message.addRepeatedGroup(
  342. TestAllTypes.RepeatedGroup.newBuilder().setA(217).build());
  343. message.addRepeatedNestedMessage(
  344. TestAllTypes.NestedMessage.newBuilder().setBb(218).build());
  345. message.addRepeatedForeignMessage(
  346. ForeignMessage.newBuilder().setC(219).build());
  347. message.addRepeatedImportMessage(
  348. ImportMessage.newBuilder().setD(220).build());
  349. message.addRepeatedNestedEnum (TestAllTypes.NestedEnum.BAR);
  350. message.addRepeatedForeignEnum(ForeignEnum.FOREIGN_BAR);
  351. message.addRepeatedImportEnum (ImportEnum.IMPORT_BAR);
  352. message.addRepeatedStringPiece("224");
  353. message.addRepeatedCord("225");
  354. // Add a second one of each field.
  355. message.addRepeatedInt32 (301);
  356. message.addRepeatedInt64 (302);
  357. message.addRepeatedUint32 (303);
  358. message.addRepeatedUint64 (304);
  359. message.addRepeatedSint32 (305);
  360. message.addRepeatedSint64 (306);
  361. message.addRepeatedFixed32 (307);
  362. message.addRepeatedFixed64 (308);
  363. message.addRepeatedSfixed32(309);
  364. message.addRepeatedSfixed64(310);
  365. message.addRepeatedFloat (311);
  366. message.addRepeatedDouble (312);
  367. message.addRepeatedBool (false);
  368. message.addRepeatedString ("315");
  369. message.addRepeatedBytes (toBytes("316"));
  370. message.addRepeatedGroup(
  371. TestAllTypes.RepeatedGroup.newBuilder().setA(317).build());
  372. message.addRepeatedNestedMessage(
  373. TestAllTypes.NestedMessage.newBuilder().setBb(318).build());
  374. message.addRepeatedForeignMessage(
  375. ForeignMessage.newBuilder().setC(319).build());
  376. message.addRepeatedImportMessage(
  377. ImportMessage.newBuilder().setD(320).build());
  378. message.addRepeatedNestedEnum (TestAllTypes.NestedEnum.BAZ);
  379. message.addRepeatedForeignEnum(ForeignEnum.FOREIGN_BAZ);
  380. message.addRepeatedImportEnum (ImportEnum.IMPORT_BAZ);
  381. message.addRepeatedStringPiece("324");
  382. message.addRepeatedCord("325");
  383. // -----------------------------------------------------------------
  384. message.setDefaultInt32 (401);
  385. message.setDefaultInt64 (402);
  386. message.setDefaultUint32 (403);
  387. message.setDefaultUint64 (404);
  388. message.setDefaultSint32 (405);
  389. message.setDefaultSint64 (406);
  390. message.setDefaultFixed32 (407);
  391. message.setDefaultFixed64 (408);
  392. message.setDefaultSfixed32(409);
  393. message.setDefaultSfixed64(410);
  394. message.setDefaultFloat (411);
  395. message.setDefaultDouble (412);
  396. message.setDefaultBool (false);
  397. message.setDefaultString ("415");
  398. message.setDefaultBytes (toBytes("416"));
  399. message.setDefaultNestedEnum (TestAllTypes.NestedEnum.FOO);
  400. message.setDefaultForeignEnum(ForeignEnum.FOREIGN_FOO);
  401. message.setDefaultImportEnum (ImportEnum.IMPORT_FOO);
  402. message.setDefaultStringPiece("424");
  403. message.setDefaultCord("425");
  404. }
  405. // -------------------------------------------------------------------
  406. /**
  407. * Modify the repeated fields of {@code message} to contain the values
  408. * expected by {@code assertRepeatedFieldsModified()}.
  409. */
  410. public static void modifyRepeatedFields(TestAllTypes.Builder message) {
  411. message.setRepeatedInt32 (1, 501);
  412. message.setRepeatedInt64 (1, 502);
  413. message.setRepeatedUint32 (1, 503);
  414. message.setRepeatedUint64 (1, 504);
  415. message.setRepeatedSint32 (1, 505);
  416. message.setRepeatedSint64 (1, 506);
  417. message.setRepeatedFixed32 (1, 507);
  418. message.setRepeatedFixed64 (1, 508);
  419. message.setRepeatedSfixed32(1, 509);
  420. message.setRepeatedSfixed64(1, 510);
  421. message.setRepeatedFloat (1, 511);
  422. message.setRepeatedDouble (1, 512);
  423. message.setRepeatedBool (1, true);
  424. message.setRepeatedString (1, "515");
  425. message.setRepeatedBytes (1, toBytes("516"));
  426. message.setRepeatedGroup(1,
  427. TestAllTypes.RepeatedGroup.newBuilder().setA(517).build());
  428. message.setRepeatedNestedMessage(1,
  429. TestAllTypes.NestedMessage.newBuilder().setBb(518).build());
  430. message.setRepeatedForeignMessage(1,
  431. ForeignMessage.newBuilder().setC(519).build());
  432. message.setRepeatedImportMessage(1,
  433. ImportMessage.newBuilder().setD(520).build());
  434. message.setRepeatedNestedEnum (1, TestAllTypes.NestedEnum.FOO);
  435. message.setRepeatedForeignEnum(1, ForeignEnum.FOREIGN_FOO);
  436. message.setRepeatedImportEnum (1, ImportEnum.IMPORT_FOO);
  437. message.setRepeatedStringPiece(1, "524");
  438. message.setRepeatedCord(1, "525");
  439. }
  440. // -------------------------------------------------------------------
  441. /**
  442. * Assert (using {@code junit.framework.Assert}} that all fields of
  443. * {@code message} are set to the values assigned by {@code setAllFields}.
  444. */
  445. public static void assertAllFieldsSet(TestAllTypesOrBuilder message) {
  446. Assert.assertTrue(message.hasOptionalInt32 ());
  447. Assert.assertTrue(message.hasOptionalInt64 ());
  448. Assert.assertTrue(message.hasOptionalUint32 ());
  449. Assert.assertTrue(message.hasOptionalUint64 ());
  450. Assert.assertTrue(message.hasOptionalSint32 ());
  451. Assert.assertTrue(message.hasOptionalSint64 ());
  452. Assert.assertTrue(message.hasOptionalFixed32 ());
  453. Assert.assertTrue(message.hasOptionalFixed64 ());
  454. Assert.assertTrue(message.hasOptionalSfixed32());
  455. Assert.assertTrue(message.hasOptionalSfixed64());
  456. Assert.assertTrue(message.hasOptionalFloat ());
  457. Assert.assertTrue(message.hasOptionalDouble ());
  458. Assert.assertTrue(message.hasOptionalBool ());
  459. Assert.assertTrue(message.hasOptionalString ());
  460. Assert.assertTrue(message.hasOptionalBytes ());
  461. Assert.assertTrue(message.hasOptionalGroup ());
  462. Assert.assertTrue(message.hasOptionalNestedMessage ());
  463. Assert.assertTrue(message.hasOptionalForeignMessage());
  464. Assert.assertTrue(message.hasOptionalImportMessage ());
  465. Assert.assertTrue(message.getOptionalGroup ().hasA());
  466. Assert.assertTrue(message.getOptionalNestedMessage ().hasBb());
  467. Assert.assertTrue(message.getOptionalForeignMessage().hasC());
  468. Assert.assertTrue(message.getOptionalImportMessage ().hasD());
  469. Assert.assertTrue(message.hasOptionalNestedEnum ());
  470. Assert.assertTrue(message.hasOptionalForeignEnum());
  471. Assert.assertTrue(message.hasOptionalImportEnum ());
  472. Assert.assertTrue(message.hasOptionalStringPiece());
  473. Assert.assertTrue(message.hasOptionalCord());
  474. Assert.assertEquals(101 , message.getOptionalInt32 ());
  475. Assert.assertEquals(102 , message.getOptionalInt64 ());
  476. Assert.assertEquals(103 , message.getOptionalUint32 ());
  477. Assert.assertEquals(104 , message.getOptionalUint64 ());
  478. Assert.assertEquals(105 , message.getOptionalSint32 ());
  479. Assert.assertEquals(106 , message.getOptionalSint64 ());
  480. Assert.assertEquals(107 , message.getOptionalFixed32 ());
  481. Assert.assertEquals(108 , message.getOptionalFixed64 ());
  482. Assert.assertEquals(109 , message.getOptionalSfixed32());
  483. Assert.assertEquals(110 , message.getOptionalSfixed64());
  484. Assert.assertEquals(111 , message.getOptionalFloat (), 0.0);
  485. Assert.assertEquals(112 , message.getOptionalDouble (), 0.0);
  486. Assert.assertEquals(true , message.getOptionalBool ());
  487. Assert.assertEquals("115", message.getOptionalString ());
  488. Assert.assertEquals(toBytes("116"), message.getOptionalBytes());
  489. Assert.assertEquals(117, message.getOptionalGroup ().getA());
  490. Assert.assertEquals(118, message.getOptionalNestedMessage ().getBb());
  491. Assert.assertEquals(119, message.getOptionalForeignMessage().getC());
  492. Assert.assertEquals(120, message.getOptionalImportMessage ().getD());
  493. Assert.assertEquals(TestAllTypes.NestedEnum.BAZ, message.getOptionalNestedEnum());
  494. Assert.assertEquals(ForeignEnum.FOREIGN_BAZ, message.getOptionalForeignEnum());
  495. Assert.assertEquals(ImportEnum.IMPORT_BAZ, message.getOptionalImportEnum());
  496. Assert.assertEquals("124", message.getOptionalStringPiece());
  497. Assert.assertEquals("125", message.getOptionalCord());
  498. // -----------------------------------------------------------------
  499. Assert.assertEquals(2, message.getRepeatedInt32Count ());
  500. Assert.assertEquals(2, message.getRepeatedInt64Count ());
  501. Assert.assertEquals(2, message.getRepeatedUint32Count ());
  502. Assert.assertEquals(2, message.getRepeatedUint64Count ());
  503. Assert.assertEquals(2, message.getRepeatedSint32Count ());
  504. Assert.assertEquals(2, message.getRepeatedSint64Count ());
  505. Assert.assertEquals(2, message.getRepeatedFixed32Count ());
  506. Assert.assertEquals(2, message.getRepeatedFixed64Count ());
  507. Assert.assertEquals(2, message.getRepeatedSfixed32Count());
  508. Assert.assertEquals(2, message.getRepeatedSfixed64Count());
  509. Assert.assertEquals(2, message.getRepeatedFloatCount ());
  510. Assert.assertEquals(2, message.getRepeatedDoubleCount ());
  511. Assert.assertEquals(2, message.getRepeatedBoolCount ());
  512. Assert.assertEquals(2, message.getRepeatedStringCount ());
  513. Assert.assertEquals(2, message.getRepeatedBytesCount ());
  514. Assert.assertEquals(2, message.getRepeatedGroupCount ());
  515. Assert.assertEquals(2, message.getRepeatedNestedMessageCount ());
  516. Assert.assertEquals(2, message.getRepeatedForeignMessageCount());
  517. Assert.assertEquals(2, message.getRepeatedImportMessageCount ());
  518. Assert.assertEquals(2, message.getRepeatedNestedEnumCount ());
  519. Assert.assertEquals(2, message.getRepeatedForeignEnumCount ());
  520. Assert.assertEquals(2, message.getRepeatedImportEnumCount ());
  521. Assert.assertEquals(2, message.getRepeatedStringPieceCount());
  522. Assert.assertEquals(2, message.getRepeatedCordCount());
  523. Assert.assertEquals(201 , message.getRepeatedInt32 (0));
  524. Assert.assertEquals(202 , message.getRepeatedInt64 (0));
  525. Assert.assertEquals(203 , message.getRepeatedUint32 (0));
  526. Assert.assertEquals(204 , message.getRepeatedUint64 (0));
  527. Assert.assertEquals(205 , message.getRepeatedSint32 (0));
  528. Assert.assertEquals(206 , message.getRepeatedSint64 (0));
  529. Assert.assertEquals(207 , message.getRepeatedFixed32 (0));
  530. Assert.assertEquals(208 , message.getRepeatedFixed64 (0));
  531. Assert.assertEquals(209 , message.getRepeatedSfixed32(0));
  532. Assert.assertEquals(210 , message.getRepeatedSfixed64(0));
  533. Assert.assertEquals(211 , message.getRepeatedFloat (0), 0.0);
  534. Assert.assertEquals(212 , message.getRepeatedDouble (0), 0.0);
  535. Assert.assertEquals(true , message.getRepeatedBool (0));
  536. Assert.assertEquals("215", message.getRepeatedString (0));
  537. Assert.assertEquals(toBytes("216"), message.getRepeatedBytes(0));
  538. Assert.assertEquals(217, message.getRepeatedGroup (0).getA());
  539. Assert.assertEquals(218, message.getRepeatedNestedMessage (0).getBb());
  540. Assert.assertEquals(219, message.getRepeatedForeignMessage(0).getC());
  541. Assert.assertEquals(220, message.getRepeatedImportMessage (0).getD());
  542. Assert.assertEquals(TestAllTypes.NestedEnum.BAR, message.getRepeatedNestedEnum (0));
  543. Assert.assertEquals(ForeignEnum.FOREIGN_BAR, message.getRepeatedForeignEnum(0));
  544. Assert.assertEquals(ImportEnum.IMPORT_BAR, message.getRepeatedImportEnum(0));
  545. Assert.assertEquals("224", message.getRepeatedStringPiece(0));
  546. Assert.assertEquals("225", message.getRepeatedCord(0));
  547. Assert.assertEquals(301 , message.getRepeatedInt32 (1));
  548. Assert.assertEquals(302 , message.getRepeatedInt64 (1));
  549. Assert.assertEquals(303 , message.getRepeatedUint32 (1));
  550. Assert.assertEquals(304 , message.getRepeatedUint64 (1));
  551. Assert.assertEquals(305 , message.getRepeatedSint32 (1));
  552. Assert.assertEquals(306 , message.getRepeatedSint64 (1));
  553. Assert.assertEquals(307 , message.getRepeatedFixed32 (1));
  554. Assert.assertEquals(308 , message.getRepeatedFixed64 (1));
  555. Assert.assertEquals(309 , message.getRepeatedSfixed32(1));
  556. Assert.assertEquals(310 , message.getRepeatedSfixed64(1));
  557. Assert.assertEquals(311 , message.getRepeatedFloat (1), 0.0);
  558. Assert.assertEquals(312 , message.getRepeatedDouble (1), 0.0);
  559. Assert.assertEquals(false, message.getRepeatedBool (1));
  560. Assert.assertEquals("315", message.getRepeatedString (1));
  561. Assert.assertEquals(toBytes("316"), message.getRepeatedBytes(1));
  562. Assert.assertEquals(317, message.getRepeatedGroup (1).getA());
  563. Assert.assertEquals(318, message.getRepeatedNestedMessage (1).getBb());
  564. Assert.assertEquals(319, message.getRepeatedForeignMessage(1).getC());
  565. Assert.assertEquals(320, message.getRepeatedImportMessage (1).getD());
  566. Assert.assertEquals(TestAllTypes.NestedEnum.BAZ, message.getRepeatedNestedEnum (1));
  567. Assert.assertEquals(ForeignEnum.FOREIGN_BAZ, message.getRepeatedForeignEnum(1));
  568. Assert.assertEquals(ImportEnum.IMPORT_BAZ, message.getRepeatedImportEnum(1));
  569. Assert.assertEquals("324", message.getRepeatedStringPiece(1));
  570. Assert.assertEquals("325", message.getRepeatedCord(1));
  571. // -----------------------------------------------------------------
  572. Assert.assertTrue(message.hasDefaultInt32 ());
  573. Assert.assertTrue(message.hasDefaultInt64 ());
  574. Assert.assertTrue(message.hasDefaultUint32 ());
  575. Assert.assertTrue(message.hasDefaultUint64 ());
  576. Assert.assertTrue(message.hasDefaultSint32 ());
  577. Assert.assertTrue(message.hasDefaultSint64 ());
  578. Assert.assertTrue(message.hasDefaultFixed32 ());
  579. Assert.assertTrue(message.hasDefaultFixed64 ());
  580. Assert.assertTrue(message.hasDefaultSfixed32());
  581. Assert.assertTrue(message.hasDefaultSfixed64());
  582. Assert.assertTrue(message.hasDefaultFloat ());
  583. Assert.assertTrue(message.hasDefaultDouble ());
  584. Assert.assertTrue(message.hasDefaultBool ());
  585. Assert.assertTrue(message.hasDefaultString ());
  586. Assert.assertTrue(message.hasDefaultBytes ());
  587. Assert.assertTrue(message.hasDefaultNestedEnum ());
  588. Assert.assertTrue(message.hasDefaultForeignEnum());
  589. Assert.assertTrue(message.hasDefaultImportEnum ());
  590. Assert.assertTrue(message.hasDefaultStringPiece());
  591. Assert.assertTrue(message.hasDefaultCord());
  592. Assert.assertEquals(401 , message.getDefaultInt32 ());
  593. Assert.assertEquals(402 , message.getDefaultInt64 ());
  594. Assert.assertEquals(403 , message.getDefaultUint32 ());
  595. Assert.assertEquals(404 , message.getDefaultUint64 ());
  596. Assert.assertEquals(405 , message.getDefaultSint32 ());
  597. Assert.assertEquals(406 , message.getDefaultSint64 ());
  598. Assert.assertEquals(407 , message.getDefaultFixed32 ());
  599. Assert.assertEquals(408 , message.getDefaultFixed64 ());
  600. Assert.assertEquals(409 , message.getDefaultSfixed32());
  601. Assert.assertEquals(410 , message.getDefaultSfixed64());
  602. Assert.assertEquals(411 , message.getDefaultFloat (), 0.0);
  603. Assert.assertEquals(412 , message.getDefaultDouble (), 0.0);
  604. Assert.assertEquals(false, message.getDefaultBool ());
  605. Assert.assertEquals("415", message.getDefaultString ());
  606. Assert.assertEquals(toBytes("416"), message.getDefaultBytes());
  607. Assert.assertEquals(TestAllTypes.NestedEnum.FOO, message.getDefaultNestedEnum ());
  608. Assert.assertEquals(ForeignEnum.FOREIGN_FOO, message.getDefaultForeignEnum());
  609. Assert.assertEquals(ImportEnum.IMPORT_FOO, message.getDefaultImportEnum());
  610. Assert.assertEquals("424", message.getDefaultStringPiece());
  611. Assert.assertEquals("425", message.getDefaultCord());
  612. }
  613. // -------------------------------------------------------------------
  614. /**
  615. * Assert (using {@code junit.framework.Assert}} that all fields of
  616. * {@code message} are cleared, and that getting the fields returns their
  617. * default values.
  618. */
  619. public static void assertClear(TestAllTypesOrBuilder message) {
  620. // hasBlah() should initially be false for all optional fields.
  621. Assert.assertFalse(message.hasOptionalInt32 ());
  622. Assert.assertFalse(message.hasOptionalInt64 ());
  623. Assert.assertFalse(message.hasOptionalUint32 ());
  624. Assert.assertFalse(message.hasOptionalUint64 ());
  625. Assert.assertFalse(message.hasOptionalSint32 ());
  626. Assert.assertFalse(message.hasOptionalSint64 ());
  627. Assert.assertFalse(message.hasOptionalFixed32 ());
  628. Assert.assertFalse(message.hasOptionalFixed64 ());
  629. Assert.assertFalse(message.hasOptionalSfixed32());
  630. Assert.assertFalse(message.hasOptionalSfixed64());
  631. Assert.assertFalse(message.hasOptionalFloat ());
  632. Assert.assertFalse(message.hasOptionalDouble ());
  633. Assert.assertFalse(message.hasOptionalBool ());
  634. Assert.assertFalse(message.hasOptionalString ());
  635. Assert.assertFalse(message.hasOptionalBytes ());
  636. Assert.assertFalse(message.hasOptionalGroup ());
  637. Assert.assertFalse(message.hasOptionalNestedMessage ());
  638. Assert.assertFalse(message.hasOptionalForeignMessage());
  639. Assert.assertFalse(message.hasOptionalImportMessage ());
  640. Assert.assertFalse(message.hasOptionalNestedEnum ());
  641. Assert.assertFalse(message.hasOptionalForeignEnum());
  642. Assert.assertFalse(message.hasOptionalImportEnum ());
  643. Assert.assertFalse(message.hasOptionalStringPiece());
  644. Assert.assertFalse(message.hasOptionalCord());
  645. // Optional fields without defaults are set to zero or something like it.
  646. Assert.assertEquals(0 , message.getOptionalInt32 ());
  647. Assert.assertEquals(0 , message.getOptionalInt64 ());
  648. Assert.assertEquals(0 , message.getOptionalUint32 ());
  649. Assert.assertEquals(0 , message.getOptionalUint64 ());
  650. Assert.assertEquals(0 , message.getOptionalSint32 ());
  651. Assert.assertEquals(0 , message.getOptionalSint64 ());
  652. Assert.assertEquals(0 , message.getOptionalFixed32 ());
  653. Assert.assertEquals(0 , message.getOptionalFixed64 ());
  654. Assert.assertEquals(0 , message.getOptionalSfixed32());
  655. Assert.assertEquals(0 , message.getOptionalSfixed64());
  656. Assert.assertEquals(0 , message.getOptionalFloat (), 0.0);
  657. Assert.assertEquals(0 , message.getOptionalDouble (), 0.0);
  658. Assert.assertEquals(false, message.getOptionalBool ());
  659. Assert.assertEquals("" , message.getOptionalString ());
  660. Assert.assertEquals(ByteString.EMPTY, message.getOptionalBytes());
  661. // Embedded messages should also be clear.
  662. Assert.assertFalse(message.getOptionalGroup ().hasA());
  663. Assert.assertFalse(message.getOptionalNestedMessage ().hasBb());
  664. Assert.assertFalse(message.getOptionalForeignMessage().hasC());
  665. Assert.assertFalse(message.getOptionalImportMessage ().hasD());
  666. Assert.assertEquals(0, message.getOptionalGroup ().getA());
  667. Assert.assertEquals(0, message.getOptionalNestedMessage ().getBb());
  668. Assert.assertEquals(0, message.getOptionalForeignMessage().getC());
  669. Assert.assertEquals(0, message.getOptionalImportMessage ().getD());
  670. // Enums without defaults are set to the first value in the enum.
  671. Assert.assertEquals(TestAllTypes.NestedEnum.FOO, message.getOptionalNestedEnum ());
  672. Assert.assertEquals(ForeignEnum.FOREIGN_FOO, message.getOptionalForeignEnum());
  673. Assert.assertEquals(ImportEnum.IMPORT_FOO, message.getOptionalImportEnum());
  674. Assert.assertEquals("", message.getOptionalStringPiece());
  675. Assert.assertEquals("", message.getOptionalCord());
  676. // Repeated fields are empty.
  677. Assert.assertEquals(0, message.getRepeatedInt32Count ());
  678. Assert.assertEquals(0, message.getRepeatedInt64Count ());
  679. Assert.assertEquals(0, message.getRepeatedUint32Count ());
  680. Assert.assertEquals(0, message.getRepeatedUint64Count ());
  681. Assert.assertEquals(0, message.getRepeatedSint32Count ());
  682. Assert.assertEquals(0, message.getRepeatedSint64Count ());
  683. Assert.assertEquals(0, message.getRepeatedFixed32Count ());
  684. Assert.assertEquals(0, message.getRepeatedFixed64Count ());
  685. Assert.assertEquals(0, message.getRepeatedSfixed32Count());
  686. Assert.assertEquals(0, message.getRepeatedSfixed64Count());
  687. Assert.assertEquals(0, message.getRepeatedFloatCount ());
  688. Assert.assertEquals(0, message.getRepeatedDoubleCount ());
  689. Assert.assertEquals(0, message.getRepeatedBoolCount ());
  690. Assert.assertEquals(0, message.getRepeatedStringCount ());
  691. Assert.assertEquals(0, message.getRepeatedBytesCount ());
  692. Assert.assertEquals(0, message.getRepeatedGroupCount ());
  693. Assert.assertEquals(0, message.getRepeatedNestedMessageCount ());
  694. Assert.assertEquals(0, message.getRepeatedForeignMessageCount());
  695. Assert.assertEquals(0, message.getRepeatedImportMessageCount ());
  696. Assert.assertEquals(0, message.getRepeatedNestedEnumCount ());
  697. Assert.assertEquals(0, message.getRepeatedForeignEnumCount ());
  698. Assert.assertEquals(0, message.getRepeatedImportEnumCount ());
  699. Assert.assertEquals(0, message.getRepeatedStringPieceCount());
  700. Assert.assertEquals(0, message.getRepeatedCordCount());
  701. // hasBlah() should also be false for all default fields.
  702. Assert.assertFalse(message.hasDefaultInt32 ());
  703. Assert.assertFalse(message.hasDefaultInt64 ());
  704. Assert.assertFalse(message.hasDefaultUint32 ());
  705. Assert.assertFalse(message.hasDefaultUint64 ());
  706. Assert.assertFalse(message.hasDefaultSint32 ());
  707. Assert.assertFalse(message.hasDefaultSint64 ());
  708. Assert.assertFalse(message.hasDefaultFixed32 ());
  709. Assert.assertFalse(message.hasDefaultFixed64 ());
  710. Assert.assertFalse(message.hasDefaultSfixed32());
  711. Assert.assertFalse(message.hasDefaultSfixed64());
  712. Assert.assertFalse(message.hasDefaultFloat ());
  713. Assert.assertFalse(message.hasDefaultDouble ());
  714. Assert.assertFalse(message.hasDefaultBool ());
  715. Assert.assertFalse(message.hasDefaultString ());
  716. Assert.assertFalse(message.hasDefaultBytes ());
  717. Assert.assertFalse(message.hasDefaultNestedEnum ());
  718. Assert.assertFalse(message.hasDefaultForeignEnum());
  719. Assert.assertFalse(message.hasDefaultImportEnum ());
  720. Assert.assertFalse(message.hasDefaultStringPiece());
  721. Assert.assertFalse(message.hasDefaultCord());
  722. // Fields with defaults have their default values (duh).
  723. Assert.assertEquals( 41 , message.getDefaultInt32 ());
  724. Assert.assertEquals( 42 , message.getDefaultInt64 ());
  725. Assert.assertEquals( 43 , message.getDefaultUint32 ());
  726. Assert.assertEquals( 44 , message.getDefaultUint64 ());
  727. Assert.assertEquals(-45 , message.getDefaultSint32 ());
  728. Assert.assertEquals( 46 , message.getDefaultSint64 ());
  729. Assert.assertEquals( 47 , message.getDefaultFixed32 ());
  730. Assert.assertEquals( 48 , message.getDefaultFixed64 ());
  731. Assert.assertEquals( 49 , message.getDefaultSfixed32());
  732. Assert.assertEquals(-50 , message.getDefaultSfixed64());
  733. Assert.assertEquals( 51.5 , message.getDefaultFloat (), 0.0);
  734. Assert.assertEquals( 52e3 , message.getDefaultDouble (), 0.0);
  735. Assert.assertEquals(true , message.getDefaultBool ());
  736. Assert.assertEquals("hello", message.getDefaultString ());
  737. Assert.assertEquals(toBytes("world"), message.getDefaultBytes());
  738. Assert.assertEquals(TestAllTypes.NestedEnum.BAR, message.getDefaultNestedEnum ());
  739. Assert.assertEquals(ForeignEnum.FOREIGN_BAR, message.getDefaultForeignEnum());
  740. Assert.assertEquals(ImportEnum.IMPORT_BAR, message.getDefaultImportEnum());
  741. Assert.assertEquals("abc", message.getDefaultStringPiece());
  742. Assert.assertEquals("123", message.getDefaultCord());
  743. }
  744. // -------------------------------------------------------------------
  745. /**
  746. * Assert (using {@code junit.framework.Assert}} that all fields of
  747. * {@code message} are set to the values assigned by {@code setAllFields}
  748. * followed by {@code modifyRepeatedFields}.
  749. */
  750. public static void assertRepeatedFieldsModified(
  751. TestAllTypesOrBuilder message) {
  752. // ModifyRepeatedFields only sets the second repeated element of each
  753. // field. In addition to verifying this, we also verify that the first
  754. // element and size were *not* modified.
  755. Assert.assertEquals(2, message.getRepeatedInt32Count ());
  756. Assert.assertEquals(2, message.getRepeatedInt64Count ());
  757. Assert.assertEquals(2, message.getRepeatedUint32Count ());
  758. Assert.assertEquals(2, message.getRepeatedUint64Count ());
  759. Assert.assertEquals(2, message.getRepeatedSint32Count ());
  760. Assert.assertEquals(2, message.getRepeatedSint64Count ());
  761. Assert.assertEquals(2, message.getRepeatedFixed32Count ());
  762. Assert.assertEquals(2, message.getRepeatedFixed64Count ());
  763. Assert.assertEquals(2, message.getRepeatedSfixed32Count());
  764. Assert.assertEquals(2, message.getRepeatedSfixed64Count());
  765. Assert.assertEquals(2, message.getRepeatedFloatCount ());
  766. Assert.assertEquals(2, message.getRepeatedDoubleCount ());
  767. Assert.assertEquals(2, message.getRepeatedBoolCount ());
  768. Assert.assertEquals(2, message.getRepeatedStringCount ());
  769. Assert.assertEquals(2, message.getRepeatedBytesCount ());
  770. Assert.assertEquals(2, message.getRepeatedGroupCount ());
  771. Assert.assertEquals(2, message.getRepeatedNestedMessageCount ());
  772. Assert.assertEquals(2, message.getRepeatedForeignMessageCount());
  773. Assert.assertEquals(2, message.getRepeatedImportMessageCount ());
  774. Assert.assertEquals(2, message.getRepeatedNestedEnumCount ());
  775. Assert.assertEquals(2, message.getRepeatedForeignEnumCount ());
  776. Assert.assertEquals(2, message.getRepeatedImportEnumCount ());
  777. Assert.assertEquals(2, message.getRepeatedStringPieceCount());
  778. Assert.assertEquals(2, message.getRepeatedCordCount());
  779. Assert.assertEquals(201 , message.getRepeatedInt32 (0));
  780. Assert.assertEquals(202L , message.getRepeatedInt64 (0));
  781. Assert.assertEquals(203 , message.getRepeatedUint32 (0));
  782. Assert.assertEquals(204L , message.getRepeatedUint64 (0));
  783. Assert.assertEquals(205 , message.getRepeatedSint32 (0));
  784. Assert.assertEquals(206L , message.getRepeatedSint64 (0));
  785. Assert.assertEquals(207 , message.getRepeatedFixed32 (0));
  786. Assert.assertEquals(208L , message.getRepeatedFixed64 (0));
  787. Assert.assertEquals(209 , message.getRepeatedSfixed32(0));
  788. Assert.assertEquals(210L , message.getRepeatedSfixed64(0));
  789. Assert.assertEquals(211F , message.getRepeatedFloat (0));
  790. Assert.assertEquals(212D , message.getRepeatedDouble (0));
  791. Assert.assertEquals(true , message.getRepeatedBool (0));
  792. Assert.assertEquals("215", message.getRepeatedString (0));
  793. Assert.assertEquals(toBytes("216"), message.getRepeatedBytes(0));
  794. Assert.assertEquals(217, message.getRepeatedGroup (0).getA());
  795. Assert.assertEquals(218, message.getRepeatedNestedMessage (0).getBb());
  796. Assert.assertEquals(219, message.getRepeatedForeignMessage(0).getC());
  797. Assert.assertEquals(220, message.getRepeatedImportMessage (0).getD());
  798. Assert.assertEquals(TestAllTypes.NestedEnum.BAR, message.getRepeatedNestedEnum (0));
  799. Assert.assertEquals(ForeignEnum.FOREIGN_BAR, message.getRepeatedForeignEnum(0));
  800. Assert.assertEquals(ImportEnum.IMPORT_BAR, message.getRepeatedImportEnum(0));
  801. Assert.assertEquals("224", message.getRepeatedStringPiece(0));
  802. Assert.assertEquals("225", message.getRepeatedCord(0));
  803. // Actually verify the second (modified) elements now.
  804. Assert.assertEquals(501 , message.getRepeatedInt32 (1));
  805. Assert.assertEquals(502L , message.getRepeatedInt64 (1));
  806. Assert.assertEquals(503 , message.getRepeatedUint32 (1));
  807. Assert.assertEquals(504L , message.getRepeatedUint64 (1));
  808. Assert.assertEquals(505 , message.getRepeatedSint32 (1));
  809. Assert.assertEquals(506L , message.getRepeatedSint64 (1));
  810. Assert.assertEquals(507 , message.getRepeatedFixed32 (1));
  811. Assert.assertEquals(508L , message.getRepeatedFixed64 (1));
  812. Assert.assertEquals(509 , message.getRepeatedSfixed32(1));
  813. Assert.assertEquals(510L , message.getRepeatedSfixed64(1));
  814. Assert.assertEquals(511F , message.getRepeatedFloat (1));
  815. Assert.assertEquals(512D , message.getRepeatedDouble (1));
  816. Assert.assertEquals(true , message.getRepeatedBool (1));
  817. Assert.assertEquals("515", message.getRepeatedString (1));
  818. Assert.assertEquals(toBytes("516"), message.getRepeatedBytes(1));
  819. Assert.assertEquals(517, message.getRepeatedGroup (1).getA());
  820. Assert.assertEquals(518, message.getRepeatedNestedMessage (1).getBb());
  821. Assert.assertEquals(519, message.getRepeatedForeignMessage(1).getC());
  822. Assert.assertEquals(520, message.getRepeatedImportMessage (1).getD());
  823. Assert.assertEquals(TestAllTypes.NestedEnum.FOO, message.getRepeatedNestedEnum (1));
  824. Assert.assertEquals(ForeignEnum.FOREIGN_FOO, message.getRepeatedForeignEnum(1));
  825. Assert.assertEquals(ImportEnum.IMPORT_FOO, message.getRepeatedImportEnum(1));
  826. Assert.assertEquals("524", message.getRepeatedStringPiece(1));
  827. Assert.assertEquals("525", message.getRepeatedCord(1));
  828. }
  829. /**
  830. * Set every field of {@code message} to a unique value.
  831. */
  832. public static void setPackedFields(TestPackedTypes.Builder message) {
  833. message.addPackedInt32 (601);
  834. message.addPackedInt64 (602);
  835. message.addPackedUint32 (603);
  836. message.addPackedUint64 (604);
  837. message.addPackedSint32 (605);
  838. message.addPackedSint64 (606);
  839. message.addPackedFixed32 (607);
  840. message.addPackedFixed64 (608);
  841. message.addPackedSfixed32(609);
  842. message.addPackedSfixed64(610);
  843. message.addPackedFloat (611);
  844. message.addPackedDouble (612);
  845. message.addPackedBool (true);
  846. message.addPackedEnum (ForeignEnum.FOREIGN_BAR);
  847. // Add a second one of each field.
  848. message.addPackedInt32 (701);
  849. message.addPackedInt64 (702);
  850. message.addPackedUint32 (703);
  851. message.addPackedUint64 (704);
  852. message.addPackedSint32 (705);
  853. message.addPackedSint64 (706);
  854. message.addPackedFixed32 (707);
  855. message.addPackedFixed64 (708);
  856. message.addPackedSfixed32(709);
  857. message.addPackedSfixed64(710);
  858. message.addPackedFloat (711);
  859. message.addPackedDouble (712);
  860. message.addPackedBool (false);
  861. message.addPackedEnum (ForeignEnum.FOREIGN_BAZ);
  862. }
  863. /**
  864. * Set every field of {@code message} to a unique value. Must correspond with
  865. * the values applied by {@code setPackedFields}.
  866. */
  867. public static void setUnpackedFields(TestUnpackedTypes.Builder message) {
  868. message.addUnpackedInt32 (601);
  869. message.addUnpackedInt64 (602);
  870. message.addUnpackedUint32 (603);
  871. message.addUnpackedUint64 (604);
  872. message.addUnpackedSint32 (605);
  873. message.addUnpackedSint64 (606);
  874. message.addUnpackedFixed32 (607);
  875. message.addUnpackedFixed64 (608);
  876. message.addUnpackedSfixed32(609);
  877. message.addUnpackedSfixed64(610);
  878. message.addUnpackedFloat (611);
  879. message.addUnpackedDouble (612);
  880. message.addUnpackedBool (true);
  881. message.addUnpackedEnum (ForeignEnum.FOREIGN_BAR);
  882. // Add a second one of each field.
  883. message.addUnpackedInt32 (701);
  884. message.addUnpackedInt64 (702);
  885. message.addUnpackedUint32 (703);
  886. message.addUnpackedUint64 (704);
  887. message.addUnpackedSint32 (705);
  888. message.addUnpackedSint64 (706);
  889. message.addUnpackedFixed32 (707);
  890. message.addUnpackedFixed64 (708);
  891. message.addUnpackedSfixed32(709);
  892. message.addUnpackedSfixed64(710);
  893. message.addUnpackedFloat (711);
  894. message.addUnpackedDouble (712);
  895. message.addUnpackedBool (false);
  896. message.addUnpackedEnum (ForeignEnum.FOREIGN_BAZ);
  897. }
  898. /**
  899. * Assert (using {@code junit.framework.Assert}} that all fields of
  900. * {@code message} are set to the values assigned by {@code setPackedFields}.
  901. */
  902. public static void assertPackedFieldsSet(TestPackedTypes message) {
  903. Assert.assertEquals(2, message.getPackedInt32Count ());
  904. Assert.assertEquals(2, message.getPackedInt64Count ());
  905. Assert.assertEquals(2, message.getPackedUint32Count ());
  906. Assert.assertEquals(2, message.getPackedUint64Count ());
  907. Assert.assertEquals(2, message.getPackedSint32Count ());
  908. Assert.assertEquals(2, message.getPackedSint64Count ());
  909. Assert.assertEquals(2, message.getPackedFixed32Count ());
  910. Assert.assertEquals(2, message.getPackedFixed64Count ());
  911. Assert.assertEquals(2, message.getPackedSfixed32Count());
  912. Assert.assertEquals(2, message.getPackedSfixed64Count());
  913. Assert.assertEquals(2, message.getPackedFloatCount ());
  914. Assert.assertEquals(2, message.getPackedDoubleCount ());
  915. Assert.assertEquals(2, message.getPackedBoolCount ());
  916. Assert.assertEquals(2, message.getPackedEnumCount ());
  917. Assert.assertEquals(601 , message.getPackedInt32 (0));
  918. Assert.assertEquals(602 , message.getPackedInt64 (0));
  919. Assert.assertEquals(603 , message.getPackedUint32 (0));
  920. Assert.assertEquals(604 , message.getPackedUint64 (0));
  921. Assert.assertEquals(605 , message.getPackedSint32 (0));
  922. Assert.assertEquals(606 , message.getPackedSint64 (0));
  923. Assert.assertEquals(607 , message.getPackedFixed32 (0));
  924. Assert.assertEquals(608 , message.getPackedFixed64 (0));
  925. Assert.assertEquals(609 , message.getPackedSfixed32(0));
  926. Assert.assertEquals(610 , message.getPackedSfixed64(0));
  927. Assert.assertEquals(611 , message.getPackedFloat (0), 0.0);
  928. Assert.assertEquals(612 , message.getPackedDouble (0), 0.0);
  929. Assert.assertEquals(true , message.getPackedBool (0));
  930. Assert.assertEquals(ForeignEnum.FOREIGN_BAR, message.getPackedEnum(0));
  931. Assert.assertEquals(701 , message.getPackedInt32 (1));
  932. Assert.assertEquals(702 , message.getPackedInt64 (1));
  933. Assert.assertEquals(703 , message.getPackedUint32 (1));
  934. Assert.assertEquals(704 , message.getPackedUint64 (1));
  935. Assert.assertEquals(705 , message.getPackedSint32 (1));
  936. Assert.assertEquals(706 , message.getPackedSint64 (1));
  937. Assert.assertEquals(707 , message.getPackedFixed32 (1));
  938. Assert.assertEquals(708 , message.getPackedFixed64 (1));
  939. Assert.assertEquals(709 , message.getPackedSfixed32(1));
  940. Assert.assertEquals(710 , message.getPackedSfixed64(1));
  941. Assert.assertEquals(711 , message.getPackedFloat (1), 0.0);
  942. Assert.assertEquals(712 , message.getPackedDouble (1), 0.0);
  943. Assert.assertEquals(false, message.getPackedBool (1));
  944. Assert.assertEquals(ForeignEnum.FOREIGN_BAZ, message.getPackedEnum(1));
  945. }
  946. /**
  947. * Assert (using {@code junit.framework.Assert}} that all fields of
  948. * {@code message} are set to the values assigned by {@code setUnpackedFields}.
  949. */
  950. public static void assertUnpackedFieldsSet(TestUnpackedTypes message) {
  951. Assert.assertEquals(2, message.getUnpackedInt32Count ());
  952. Assert.assertEquals(2, message.getUnpackedInt64Count ());
  953. Assert.assertEquals(2, message.getUnpackedUint32Count ());
  954. Assert.assertEquals(2, message.getUnpackedUint64Count ());
  955. Assert.assertEquals(2, message.getUnpackedSint32Count ());
  956. Assert.assertEquals(2, message.getUnpackedSint64Count ());
  957. Assert.assertEquals(2, message.getUnpackedFixed32Count ());
  958. Assert.assertEquals(2, message.getUnpackedFixed64Count ());
  959. Assert.assertEquals(2, message.getUnpackedSfixed32Count());
  960. Assert.assertEquals(2, message.getUnpackedSfixed64Count());
  961. Assert.assertEquals(2, message.getUnpackedFloatCount ());
  962. Assert.assertEquals(2, message.getUnpackedDoubleCount ());
  963. Assert.assertEquals(2, message.getUnpackedBoolCount ());
  964. Assert.assertEquals(2, message.getUnpackedEnumCount ());
  965. Assert.assertEquals(601 , message.getUnpackedInt32 (0));
  966. Assert.assertEquals(602 , message.getUnpackedInt64 (0));
  967. Assert.assertEquals(603 , message.getUnpackedUint32 (0));
  968. Assert.assertEquals(604 , message.getUnpackedUint64 (0));
  969. Assert.assertEquals(605 , message.getUnpackedSint32 (0));
  970. Assert.assertEquals(606 , message.getUnpackedSint64 (0));
  971. Assert.assertEquals(607 , message.getUnpackedFixed32 (0));
  972. Assert.assertEquals(608 , message.getUnpackedFixed64 (0));
  973. Assert.assertEquals(609 , message.getUnpackedSfixed32(0));
  974. Assert.assertEquals(610 , message.getUnpackedSfixed64(0));
  975. Assert.assertEquals(611 , message.getUnpackedFloat (0), 0.0);
  976. Assert.assertEquals(612 , message.getUnpackedDouble (0), 0.0);
  977. Assert.assertEquals(true , message.getUnpackedBool (0));
  978. Assert.assertEquals(ForeignEnum.FOREIGN_BAR, message.getUnpackedEnum(0));
  979. Assert.assertEquals(701 , message.getUnpackedInt32 (1));
  980. Assert.assertEquals(702 , message.getUnpackedInt64 (1));
  981. Assert.assertEquals(703 , message.getUnpackedUint32 (1));
  982. Assert.assertEquals(704 , message.getUnpackedUint64 (1));
  983. Assert.assertEquals(705 , message.getUnpackedSint32 (1));
  984. Assert.assertEquals(706 , message.getUnpackedSint64 (1));
  985. Assert.assertEquals(707 , message.getUnpackedFixed32 (1));
  986. Assert.assertEquals(708 , message.getUnpackedFixed64 (1));
  987. Assert.assertEquals(709 , message.getUnpackedSfixed32(1));
  988. Assert.assertEquals(710 , message.getUnpackedSfixed64(1));
  989. Assert.assertEquals(711 , message.getUnpackedFloat (1), 0.0);
  990. Assert.assertEquals(712 , message.getUnpackedDouble (1), 0.0);
  991. Assert.assertEquals(false, message.getUnpackedBool (1));
  992. Assert.assertEquals(ForeignEnum.FOREIGN_BAZ, message.getUnpackedEnum(1));
  993. }
  994. // ===================================================================
  995. // Like above, but for extensions
  996. // Java gets confused with things like assertEquals(int, Integer): it can't
  997. // decide whether to call assertEquals(int, int) or assertEquals(Object,
  998. // Object). So we define these methods to help it.
  999. private static void assertEqualsExactType(int a, int b) {
  1000. Assert.assertEquals(a, b);
  1001. }
  1002. private static void assertEqualsExactType(long a, long b) {
  1003. Assert.assertEquals(a, b);
  1004. }
  1005. private static void assertEqualsExactType(float a, float b) {
  1006. Assert.assertEquals(a, b, 0.0);
  1007. }
  1008. private static void assertEqualsExactType(double a, double b) {
  1009. Assert.assertEquals(a, b, 0.0);
  1010. }
  1011. private static void assertEqualsExactType(boolean a, boolean b) {
  1012. Assert.assertEquals(a, b);
  1013. }
  1014. private static void assertEqualsExactType(String a, String b) {
  1015. Assert.assertEquals(a, b);
  1016. }
  1017. private static void assertEqualsExactType(ByteString a, ByteString b) {
  1018. Assert.assertEquals(a, b);
  1019. }
  1020. private static void assertEqualsExactType(TestAllTypes.NestedEnum a,
  1021. TestAllTypes.NestedEnum b) {
  1022. Assert.assertEquals(a, b);
  1023. }
  1024. private static void assertEqualsExactType(ForeignEnum a, ForeignEnum b) {
  1025. Assert.assertEquals(a, b);
  1026. }
  1027. private static void assertEqualsExactType(ImportEnum a, ImportEnum b) {
  1028. Assert.assertEquals(a, b);
  1029. }
  1030. private static void assertEqualsExactType(TestAllTypesLite.NestedEnum a,
  1031. TestAllTypesLite.NestedEnum b) {
  1032. Assert.assertEquals(a, b);
  1033. }
  1034. private static void assertEqualsExactType(ForeignEnumLite a,
  1035. ForeignEnumLite b) {
  1036. Assert.assertEquals(a, b);
  1037. }
  1038. private static void assertEqualsExactType(ImportEnumLite a,
  1039. ImportEnumLite b) {
  1040. Assert.assertEquals(a, b);
  1041. }
  1042. /**
  1043. * Get an unmodifiable {@link ExtensionRegistry} containing all the
  1044. * extensions of {@code TestAllExtensions}.
  1045. */
  1046. public static ExtensionRegistry getExtensionRegistry() {
  1047. ExtensionRegistry registry = ExtensionRegistry.newInstance();
  1048. registerAllExtensions(registry);
  1049. return registry.getUnmodifiable();
  1050. }
  1051. public static ExtensionRegistryLite getExtensionRegistryLite() {
  1052. ExtensionRegistryLite registry = ExtensionRegistryLite.newInstance();
  1053. registerAllExtensionsLite(registry);
  1054. return registry.getUnmodifiable();
  1055. }
  1056. /**
  1057. * Register all of {@code TestAllExtensions}'s extensions with the
  1058. * given {@link ExtensionRegistry}.
  1059. */
  1060. public static void registerAllExtensions(ExtensionRegistry registry) {
  1061. UnittestProto.registerAllExtensions(registry);
  1062. registerAllExtensionsLite(registry);
  1063. }
  1064. public static void registerAllExtensionsLite(ExtensionRegistryLite registry) {
  1065. UnittestLite.registerAllExtensions(registry);
  1066. }
  1067. /**
  1068. * Set every field of {@code message} to the values expected by
  1069. * {@code assertAllExtensionsSet()}.
  1070. */
  1071. public static void setAllExtensions(TestAllExtensions.Builder message) {
  1072. message.setExtension(optionalInt32Extension , 101);
  1073. message.setExtension(optionalInt64Extension , 102L);
  1074. message.setExtension(optionalUint32Extension , 103);
  1075. message.setExtension(optionalUint64Extension , 104L);
  1076. message.setExtension(optionalSint32Extension , 105);
  1077. message.setExtension(optionalSint64Extension , 106L);
  1078. message.setExtension(optionalFixed32Extension , 107);
  1079. message.setExtension(optionalFixed64Extension , 108L);
  1080. message.setExtension(optionalSfixed32Extension, 109);
  1081. message.setExtension(optionalSfixed64Extension, 110L);
  1082. message.setExtension(optionalFloatExtension , 111F);
  1083. message.setExtension(optionalDoubleExtension , 112D);
  1084. message.setExtension(optionalBoolExtension , true);
  1085. message.setExtension(optionalStringExtension , "115");
  1086. message.setExtension(optionalBytesExtension , toBytes("116"));
  1087. message.setExtension(optionalGroupExtension,
  1088. OptionalGroup_extension.newBuilder().setA(117).build());
  1089. message.setExtension(optionalNestedMessageExtension,
  1090. TestAllTypes.NestedMessage.newBuilder().setBb(118).build());
  1091. message.setExtension(optionalForeignMessageExtension,
  1092. ForeignMessage.newBuilder().setC(119).build());
  1093. message.setExtension(optionalImportMessageExtension,
  1094. ImportMessage.newBuilder().setD(120).build());
  1095. message.setExtension(optionalNestedEnumExtension, TestAllTypes.NestedEnum.BAZ);
  1096. message.setExtension(optionalForeignEnumExtension, ForeignEnum.FOREIGN_BAZ);
  1097. message.setExtension(optionalImportEnumExtension, ImportEnum.IMPORT_BAZ);
  1098. message.setExtension(optionalStringPieceExtension, "124");
  1099. message.setExtension(optionalCordExtension, "125");
  1100. // -----------------------------------------------------------------
  1101. message.addExtension(repeatedInt32Extension , 201);
  1102. message.addExtension(repeatedInt64Extension , 202L);
  1103. message.addExtension(repeatedUint32Extension , 203);
  1104. message.addExtension(repeatedUint64Extension , 204L);
  1105. message.addExtension(repeatedSint32Extension , 205);
  1106. message.addExtension(repeatedSint64Extension , 206L);
  1107. message.addExtension(repeatedFixed32Extension , 207);
  1108. message.addExtension(repeatedFixed64Extension , 208L);
  1109. message.addExtension(repeatedSfixed32Extension, 209);
  1110. message.addExtension(repeatedSfixed64Extension, 210L);
  1111. message.addExtension(repeatedFloatExtension , 211F);
  1112. message.addExtension(repeatedDoubleExtension , 212D);
  1113. message.addExtension(repeatedBoolExtension , true);
  1114. message.addExtension(repeatedStringExtension , "215");
  1115. message.addExtension(repeatedBytesExtension , toBytes("216"));
  1116. message.addExtension(repeatedGroupExtension,
  1117. RepeatedGroup_extension.newBuilder().setA(217).build());
  1118. message.addExtension(repeatedNestedMessageExtension,
  1119. TestAllTypes.NestedMessage.newBuilder().setBb(218).build());
  1120. message.addExtension(repeatedForeignMessageExtension,
  1121. ForeignMessage.newBuilder().setC(219).build());
  1122. message.addExtension(repeatedImportMessageExtension,
  1123. ImportMessage.newBuilder().setD(220).build());
  1124. message.addExtension(repeatedNestedEnumExtension, TestAllTypes.NestedEnum.BAR);
  1125. message.addExtension(repeatedForeignEnumExtension, ForeignEnum.FOREIGN_BAR);
  1126. message.addExtension(repeatedImportEnumExtension, ImportEnum.IMPORT_BAR);
  1127. message.addExtension(repeatedStringPieceExtension, "224");
  1128. message.addExtension(repeatedCordExtension, "225");
  1129. // Add a second one of each field.
  1130. message.addExtension(repeatedInt32Extension , 301);
  1131. message.addExtension(repeatedInt64Extension , 302L);
  1132. message.addExtension(repeatedUint32Extension , 303);
  1133. message.addExtension(repeatedUint64Extension , 304L);
  1134. message.addExtension(repeatedSint32Extension , 305);
  1135. message.addExtension(repeatedSint64Extension , 306L);
  1136. message.addExtension(repeatedFixed32Extension , 307);
  1137. message.addExtension(repeatedFixed64Extension , 308L);
  1138. message.addExtension(repeatedSfixed32Extension, 309);
  1139. message.addExtension(repeatedSfixed64Extension, 310L);
  1140. message.addExtension(repeatedFloatExtension , 311F);
  1141. message.addExtension(repeatedDoubleExtension , 312D);
  1142. message.addExtension(repeatedBoolExtension , false);
  1143. message.addExtension(repeatedStringExtension , "315");
  1144. message.addExtension(repeatedBytesExtension , toBytes("316"));
  1145. message.addExtension(repeatedGroupExtension,
  1146. RepeatedGroup_extension.newBuilder().setA(317).build());
  1147. message.addExtension(repeatedNestedMessageExtension,
  1148. TestAllTypes.NestedMessage.newBuilder().setBb(318).build());
  1149. message.addExtension(repeatedForeignMessageExtension,
  1150. ForeignMessage.newBuilder().setC(319).build());
  1151. message.addExtension(re